後is_anonymous都返回真我使用Django的登記,並設置好它。Django的:is_authenticated和註銷
{{user.is_authenticated }}
是真的,即使我已經去/ accounts/logout /並且登出了用戶。
{{user.is_anonymous }}
也返回true。根據django文檔,這兩個應該是不同的:
is_anonymous:總是返回False。這是區分User和AnonymousUser對象的一種方式。通常,您應該更喜歡使用is_authenticated()來使用此方法。
和
is_authenticated:總是返回true。這是判斷用戶是否已通過身份驗證的一種方式。這並不意味着任何權限,並且不檢查用戶是否處於活動狀態 - 它只是表明用戶提供了一個有效的用戶名和密碼。
我正在使用django註冊並沒有觸及它們的標準視圖。在tempalate我有以下代碼:
{% if user.is_authenticated %}
{% user }}
{% if user.is_anonymous %}
is anonymous
{% endif $}
{% else %}
gotta login
{% endif %}
問題在哪裏?我會非常感謝!
更新: 我注意到,在主頁上,它既is_authenticated和id_anonymous返回True,而如果我登錄之前去/ accounts /登錄,只有is_anonymous返回true,因爲它應該是。而且,在網頁上,我有以下的看法是否有幫助:
def home(request):
return render_jinja(request, 'index.html', blah = 'ga')
更新2: 打印(request.user.is_authenticated())提供虛假。然後,我有:
return render_jinja(request, 'index.html', blah = 'ga')
並且在模板中,user.is_authenticated返回FALSE。
更新3: 如果我選擇render_to_response使用,而不是render_jinja,一切都很好。還是不知道如何解決這個問題,雖然:(
恐怕我無法在新創建的項目和應用程序中重現此行爲。你使用的是哪個版本的Django?你如何登錄用戶,然後登錄用戶? – 2010-11-28 19:44:57
如果你告訴我如何檢查我的django版本,我將非常樂意檢查!拍攝在黑暗中 - 1.2 – mgPePe 2010-11-28 21:16:42
因爲我使用這個開源的Django的註冊應用程序,我登錄帳戶/登錄/和註銷帳戶/註銷。如果你告訴我如何在評論中粘貼代碼,我可以從這些鏈接粘貼視圖 – mgPePe 2010-11-28 21:18:15