找不到Django上下文处理器模型

时间:2019-01-07 04:45:27

标签: django django-templates django-context

我正在尝试通过自定义应用在Django中实现context_processor。由于找不到模块错误,我失败了。

我的应用名称是 brand

我的上下文处理器看起来像这样:

from .models import ContactDetail

def contact(request):
    contact = ContactDetail.objects.first()
    return { 'contact' : contact }

我的应用程序包含在已安装的应用程序中,并且模型已迁移。

根据文档,我已将上下文处理器包含在context_processors列表中:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'mysite', 'templates'),],
        'OPTIONS': {
            'context_processors': [
                'brand.context_processors.contact',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'django.template.context_processors.i18n',
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.template.context_processors.media',
                'django.template.context_processors.csrf',
                'django.template.context_processors.tz',
                'sekizai.context_processors.sekizai',
                'django.template.context_processors.static',
                'cms.context_processors.cms_settings',
            ],
            'loaders': [
                'django.template.loaders.filesystem.Loader',
                'django.template.loaders.app_directories.Loader',
                'django.template.loaders.eggs.Loader'
            ],
        },
    },
]

我遇到的错误是:

Django Version: 1.11.16
Exception Type: ModuleNotFoundError
Exception Value: No module named 'brand.context_processors'

我尝试搜索解决方案,但大多数问题是针对我正在使用1.11.16的django的早期版本(<= 1.8)。

我已经阅读了文档,目前尚不清楚我缺少什么。

任何帮助都非常重要。

1 个答案:

答案 0 :(得分:0)

确保您将该文件命名为 context_processors.py 并放置在 myapp 目录中。