VDe*_*Dev 8 python django django-templates django-context
我正在尝试创建一个自定义上下文处理器,它将为登录用户呈现菜单项列表.我做了以下事情:
在我的settings.py中,我有
TEMPLATE_CONTEXT_PROCESSOR = (
'django.contrib.auth.context_processors.auth',
'mysite.accounts.context_processors.user_menu',
)
在帐户子模块context_processors.py下,我现在有以下内容:
def user_menu(request):
return {'user_menu':'Hello World'}
在我的模板页面上,我有以下内容:
{% if user.is_authenticated %}
Menu
{{user_menu}}
{% endif %}
调用视图如下:
def profile(request):
return render_to_response('accounts/profile.html',context_instance=RequestContext(request))
但是我无法{{user_menu}}在页面上呈现任何内容,我知道用户已经过身份验证,因为模板的其他部分具有类似的检查正确呈现.我在这里错过了一些东西.请帮忙谢谢
编辑:谢谢Ben,Daniel,我已修复了(S)TEMPLATE_CONTEXT_PROCESSOR,但Django现在无法解析模块,我得到以下消息
Error importing request processor module django.contrib.auth.context_processors: "No module named context_processors"
更新:我通过改变路径来修复它,django.core.context_processors.auth似乎已经移动了模块