在Django 1.8中为模板提供设置的标准首选方法是什么?目前,我在项目中定义了一个自定义上下文处理器,然后在我的TEMPLATES OPTIONS设置中引用它。我查看了文档,但未发现此问题。之前的Stackoverflow question说要做我正在做的事情,但是已经超过两年了,我想知道是否有更新的首选方法。如果我从最近升级的Django中学到了一件事,那就是按照框架要求你的方式做事。这样你就会遇到更少的问题。
感谢。
# utils/context_processors.py
from profile.models import UserProxy
from conf.settings import base as base_settings
def global_constants(request):
"""Constants that are available to all templates."""
return {
'site_name': base_settings.SITE_NAME,
'media_url': base_settings.MEDIA_URL
}
# myproject/settings.py
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug', # default
'django.template.context_processors.request', # default
'django.contrib.auth.context_processors.auth', # default
'django.contrib.messages.context_processors.messages', # default
'utils.context_processors.global_constants', # project
],
},
},
]