自定义上下文处理器不起作用

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}}