Где процессор шаблонов в Django 1.5?
Должен ли он быть указан в Settings.py автоматически или мне нужно его добавить? У меня есть смехотворно трудное время, когда я работаю над файлом изображения в разработке, и документы слишком кратки для моего вкуса, и я почему-то не объясняю мне кое-что. Я хотел бы проверить, что такое мои шаблоны, но где он находится? Это не в моем файле settings.py. Должен ли я редактировать это обычно?
("django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.contrib.messages.context_processors.messages")
Ответы
Ответ 1
В settings.py
вы можете определить TEMPLATE_CONTEXT_PROCESSORS
.
Однако django определил значения по умолчанию для этого параметра, который равен
("django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.core.context_processors.tz",
"django.contrib.messages.context_processors.messages")
Если вы хотите добавить свой настраиваемый контекстный процессор, который поддерживает процессоры по умолчанию, вы можете сделать следующее в settings.py
import django.conf.global_settings as DEFAULT_SETTINGS
TEMPLATE_CONTEXT_PROCESSORS = DEFAULT_SETTINGS.TEMPLATE_CONTEXT_PROCESSORS + (
'custom_context_processors.my_context_processor',
)
Обратитесь TEMPLATE_CONTEXT_PROCESSORS doc.
Ответ 2
Вы можете проверить, какие процессоры контекста используют ваше приложение, перейдя в оболочку python django и импортируя ваши настройки.
$ manage.py shell
> from django.conf import settings
> settings.TEMPLATE_CONTEXT_PROCESSORS
Если вы не переопределили их, должны быть отображены значения по умолчанию.
В статических файлах проверьте STATICFILES_DIRS, где сервер разработки django будет искать статические ресурсы: https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-STATICFILES_DIRS.
Я использую это в своем settings.py
:
from os.path import join, abspath
PROJECT_ROOT = abspath(join(dirname(__file__), '..', '..'))
STATICFILES_DIRS = [join(PROJECT_ROOT, 'public'), ]
Это не будет для вас одинаковым, так как это будет зависеть от того, как вы планируете свой проект.