而非用户。
def myview(request):
return render_to_response('tmpl.html', {'user': User.objects.get(id=1})
工作正常并将用户传递给模板。 但
def myview(request):
return render_to_response('tmpl.html', {}, context_instance=RequestContext(request))
使用上下文处理器
def user(request):
from django.contrib.auth.models import User
return {'user': User.objects.get(id=1)}
传递AnonymousUser,所以我无法得到我需要的变量:( 怎么了?
答案 0 :(得分:1)
您确定在settings.py中的TEMPLATE_CONTEXT_PROCESSORS
启用了上下文处理器吗?
更重要的是,它是在内置django.contrib.auth.context_processors.auth
之前还是之后?如果是之前,它将被该处理器覆盖,该处理器将user
重新定义为实际登录用户,如果没有,则重新定义AnonymousUser。