Estoy usando virtualenv y quiero saber qué debería ser TEMPLATE_DIRS
en settings.py
, por ejemplo si hago una carpeta de plantillas en la raíz de la carpeta de mi proyecto.¿Cuál es la ruta de TEMPLATE_DIRS en django settings.py cuando se usa virtualenv
Respuesta
Debe especificar la ruta absoluta a la carpeta de la plantilla. Utilice siempre barras diagonales, incluso en Windows.
Por ejemplo, si la carpeta del proyecto es "/ home/djangouser/proyectos/miproyecto" (Linux) o 'C: \ projects \ miproyecto \' (Windows), sus TEMPLATE_DIRS se ve así:
# for Linux
TEMPLATE_DIRS = (
'/home/djangouser/projects/myproject/templates/',
)
# or for Windows; use forward slashes!
TEMPLATE_DIRS = (
'C:/projects/myproject/templates/',
)
Alternativamente, puede usar la variable PROJECT_ROOT especificada y generar la ruta absoluta al unirla con la ruta relativa a la carpeta de la plantilla. Esto tiene la ventaja de que solo necesita cambiar su PROJECT_ROOT, si copia el proyecto en una ubicación diferente. Es necesario importar el módulo os para que funcione:
# add at the beginning of settings.py
import os
# ...
TEMPLATE_DIRS = (
os.path.join(PROJECT_ROOT, 'templates/'),
)
la project_dir no se ha definido la project_dir ... no es una variable. es un directorio/una ruta hacia donde se encuentra la carpeta "plantillas". Esto debería ayudar a
import os
PROJECT_DIR = os.path.dirname(os.path.dirname(__file__))
TEMPLATE_DIRS = os.path.join(PROJECT_DIR, 'templates')
Si está utilizando Django 1.9, se recomienda utilizar BASE_DIR en lugar de project_dir.
# add at the beginning of settings.py
import os
# ...
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'templates/'),
)
Si está trabajando con una nueva versión de Django puede que tenga que añadirlo a la lista de DIR que está dentro settings.py en plantillas.
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['[project name]/templates'], # Replace with your project name
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
Agregando esto en web/settings.py resuelto todo para mí. Espero que pueda ayudarte también.
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
from os.path import join
TEMPLATE_DIRS = (
join(BASE_DIR, 'templates'),
)
¿Cómo es esto diferente de las respuestas ya publicadas? Todo lo que hizo fue unir 'join' como global en lugar de usar la ortografía completa' os.path.join() '. –
cuando utilicé las respuestas ya publicadas. podría obtener un error diciendo que no se encuentra BASE_DIR – ninyesiga
'BASE_DIR' es solo un nombre (aunque parece que la plantilla del proyecto en Django 1.9 y posteriores definen el nombre ahora, consulte https://github.com/django/django/blob /master/django/conf/project_template/project_name/settings.py-tpl). [¿Cuál es la ruta de TEMPLATE \ _DIRS en django settings.py cuando se usa virtualenv] (// stackoverflow.com/a/24706023) utilizó el nombre 'PROJECT_DIR' para el mismo valor exacto sin embargo. –
- 1. Django no encuentra aplicaciones en virtualenv cuando usa manage.py syncdb
- 2. Variables Django settings.py en plantillas
- 3. cómo modularizar django settings.py?
- 4. ¿Cuál es el alcance de let cuando se usa sin?
- 5. ¿Cómo se usa menos css con django?
- 6. Problema al importar archivos en Django settings.py
- 7. Archivos estáticos de Django y filepaths en settings.py
- 8. Django - ¿Cómo lidiar con los caminos en settings.py en proyectos de colaboración
- 9. En Python 2, ¿cuál es la diferencia entre '/' y '//' cuando se usa para la división?
- 10. django - settings.py parece cargar varias veces?
- 11. ¿Cuál es la forma más sencilla de implementar el cifrado en WCF cuando se usa netTcpBinding?
- 12. Django: uso de DATE_FORMAT, DATETIME_FORMAT, TIME_FORMAT en settings.py?
- 13. ¿Cuál es la diferencia entre == y =: = en Erlang cuando se usa con términos en general?
- 14. especificar nombres de base de datos test Django en settings.py
- 15. Cuándo se crea un app.config, cuando se usa un app.exe.config y cuál es la diferencia
- 16. ¿OAuth es irrelevante cuando se usa HTTPS?
- 17. Quieting pylint falsos positivos cuando se usa django
- 18. ¿Cuál es la diferencia entre tr /// y s /// cuando se usa regex en Perl?
- 19. Django syncdb conflictivo related_name cuando se usa herencia y ForeignKey
- 20. Python + Django + VirtualEnv + Windows
- 21. ¿Cuál es la ruta link_to a una ruta sin recursos?
- 22. ¿Cuál es la forma correcta de establecer StringBuilder.Capacity cuando se usa P/Invoke?
- 23. ¿Para qué se usa Django?
- 24. ¿Cuál es la forma correcta de cargar módulos/clases desde lib/cuando se usa config.threadsafe! ¿opción?
- 25. la gestión de múltiples archivos settings.py
- 26. ¿Por qué session_start es necesario cuando se usa la sesión?
- 27. ¿Cuál es la mejor memoria caché para Nhibernate cuando se usa una aplicación web MVC?
- 28. ¿Cuál es la diferencia entre mock() y stub() cuando se usa Mockito?
- 29. ¿Cómo se usa `to_sql` en AREL cuando se usa` average() `?
- 30. ¿Cuál es la ruta correcta para JAVA_HOME en un sistema Linux que usa alternativas?
gracias por la respuesta. Se dice que PROJECT_ROOT no está definido para la segunda respuesta. – weaveoftheride
mi carpeta de proyecto está en/Users/andrewwelch/Sites/env/y supongo que tendría que cambiar esto si lo pongo en un servidor remoto – weaveoftheride
Sí, es mi culpa. Noté que PROJECT_ROOT no es una variable estándar y lo agregué a la configuración.py Miré hacia arriba. Es básicamente lo mismo que las sugerencias aquí: http://stackoverflow.com/questions/4919600/django-project-root-self-discovorey – eminor