簡體   English   中英

Django上下文處理器獲取AnonymousUser

[英]Django context processor gets AnonymousUser

而不是用戶。

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,所以我無法獲取所需的變量:(怎么了?

您確定在settings.py的TEMPLATE_CONTEXT_PROCESSORS中啟用了上下文處理器嗎?

更重要的是,它在內置django.contrib.auth.context_processors.auth之前還是之后? 如果在此之前,它將被該處理器覆蓋,它將重新定義user為實際登錄用戶,如果沒有,則重新定義AnonymousUser。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM