首页 > 解决方案 > 没有调用 Django 上下文处理器

问题描述

我有一个上下文处理器,它应该将办公室列表注入到模板中,以显示在全局页脚中。甚至没有调用上下文处理器。

Django 版本是 2.1。

(.env) ~/staging/ $ cat core/settings.py
...
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        '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',
                'contact.context_processors.offices',
            ],
        },
    },
]
...
(.env) ~/staging/ $ cat contact/context_processors.py
from . import models

def offices(request):
    raise Exception('Testing: This got called')

    offices = models.Office.objects.order_by('order')

    return {
        'offices': offices,
    }

控制台中没有抛出异常,也没有警告或错误消息。

标签: django

解决方案


Sachin Kukreja 是对的……我需要重新启动我的服务器。我认为自动重新加载代码会导致它起作用,但事实并非如此。

(Sachin,如果您想提交您的评论作为答案,我很乐意接受它,以便您获得荣誉。)


推荐阅读