【问题标题】:Custom context processor doesn't work自定义上下文处理器不起作用
【发布时间】:2018-02-25 10:14:45
【问题描述】:

我有以下代码:

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) 我使用基于通用类的视图。

我不明白为什么这不起作用。我重新启动了服务器,清理了 .pyc 文件。

【问题讨论】:

    标签: django django-templates django-context


    【解决方案1】:

    当您创建上下文处理器时,您在 defaults 函数中返回的字典将添加到全局上下文中,因此您可以在模板中仅通过其名称访问它。

    而不是使用:

    {{ defaults.LOGO_DEFAULT_SRC }}
    

    你需要使用:

    {{LOGO_DEFAULT_SRC}}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-21
      • 2018-06-09
      • 1970-01-01
      • 2016-10-09
      • 1970-01-01
      • 2014-02-17
      • 2013-05-04
      • 2017-10-24
      相关资源
      最近更新 更多