Подтвердить что ты не робот

Где процессор шаблонов в 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")
4b9b3361

Ответ 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'), ]

Это не будет для вас одинаковым, так как это будет зависеть от того, как вы планируете свой проект.