自定义上下文处理器不起作用
Custom context processor doesn't work
我有以下代码:
1) 上下文处理器
def defaults(request):
return {
'LOGO_DEFAULT_SRC': LOGO_DEFAULT_CSRC
}
2) 设置
'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',
# custom processors
'apps.core.context_processors.defaults',
],
3) 在模板中
{{ defaults.LOGO_DEFAULT_SRC }}
4) 我使用基于 Class 的通用视图。
我不明白为什么这不起作用。我重新启动了服务器,清理了 .pyc 文件。
当您创建上下文处理器时,您在 defaults
函数中 return 的字典将添加到全局上下文中,因此您可以在模板中仅通过其名称访问它。
而不是使用:
{{ defaults.LOGO_DEFAULT_SRC }}
您需要使用:
{{LOGO_DEFAULT_SRC}}
我有以下代码:
1) 上下文处理器
def defaults(request):
return {
'LOGO_DEFAULT_SRC': LOGO_DEFAULT_CSRC
}
2) 设置
'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',
# custom processors
'apps.core.context_processors.defaults',
],
3) 在模板中
{{ defaults.LOGO_DEFAULT_SRC }}
4) 我使用基于 Class 的通用视图。
我不明白为什么这不起作用。我重新启动了服务器,清理了 .pyc 文件。
当您创建上下文处理器时,您在 defaults
函数中 return 的字典将添加到全局上下文中,因此您可以在模板中仅通过其名称访问它。
而不是使用:
{{ defaults.LOGO_DEFAULT_SRC }}
您需要使用:
{{LOGO_DEFAULT_SRC}}