新手问题给你。Django - 错误导入模块context_processors
我想创建我的第一个自定义背景处理器
我settings.py
TEMPLATE_CONTEXT_PROCESSORS = (
'mmaprophet.context_processors.seasons.active'
)
我的项目目录称为“mmaprophet”,所以我创建了一个名为“context_processors”的文件夹,并在它创建了一个名为“seasons.py”的文件。该文件包含上面主动定义的功能。
我seasons.py
from seasons.models import Season
def active(request):
'''
A context processor to add the "active season" to the current Context
'''
active_season = Season.objects.get(active=True)
return {'active_season': active_season}
但后来我得到这个错误:
ImproperlyConfigured at/
Error importing module mmaprophet.context_processors.seasons: "No module named models"
Request Method: GET
Request URL: http://127.0.0.1:8000/
Django Version: 1.6.2
Exception Type: ImproperlyConfigured
Exception Value:
Error importing module mmaprophet.context_processors.seasons: "No module named models"
Exception Location: /home/ymorin007/workspace/sites/mmaprophet.com/src/mmaprophet/context_processors/seasons.py in <module>, line 2
Python Executable: /home/ymorin007/.virtualenvs/mmaprophet/bin/python
Python Version: 2.7.6
Python Path:
['/home/ymorin007/workspace/sites/mmaprophet.com/src',
'/home/ymorin007/workspace/sites/mmaprophet.com/src',
'/home/ymorin007/.virtualenvs/mmaprophet/lib/python2.7',
'/home/ymorin007/.virtualenvs/mmaprophet/lib/python2.7/plat-x86_64-linux-gnu',
'/home/ymorin007/.virtualenvs/mmaprophet/lib/python2.7/lib-tk',
'/home/ymorin007/.virtualenvs/mmaprophet/lib/python2.7/lib-old',
'/home/ymorin007/.virtualenvs/mmaprophet/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/home/ymorin007/.virtualenvs/mmaprophet/local/lib/python2.7/site-packages']
Server time: Thu, 22 May 2014 13:13:31 -0400
仍然是同样的错误。我已将__init__.py添加到context_processors。我使用PyCharm,并通过选择New Python Package创建了context_processors文件夹。 – Yannick
你可以尝试没有项目名称吗?只是'context_processors.seasons.active'?另外请记住添加Django的默认元素,如果你需要他们:https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-TEMPLATE_CONTEXT_PROCESSORS –
好吧,它现在不是同一个错误:错误导入模块mmaprophet.context_processors.seasons:“没有模块命名模型” – Yannick