我正在尝试通过自定义应用在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)。
我已经阅读了文档,目前尚不清楚我缺少什么。
任何帮助都非常重要。
答案 0 :(得分:0)
确保您将该文件命名为 context_processors.py
并放置在 myapp
目录中。