我使用的是來自django的默認模型用戶(因爲我使用的是django-facebook),並且用戶身份驗證在模板中不起作用。下面是代碼:Django用戶身份驗證不起作用
{% if request.user.is_authenticated %}
Welcome, {{ request.user.first_name }}
<a href="/logout">logout</a>
{% else %}
<form action="{% url facebook_connect %}?facebook_login=1" method="post">
<a href="javascript:void(0);" style="font-size: 20px;" onclick="F.connect(this.parentNode);">
<img src="/media/images/site/facebook_login.png" alt="facebook_login" class="facebook_login_button"/>
</a>
<input type="hidden" value="{{ request.path }}" name="next" />
</form>
{% endif %}
我通過從視圖中context_instance:
return render_to_response('index.html', context, context_instance=RequestContext(request))
但還是將無法正常工作。謝謝你的幫助!
編輯:
的用戶成功登錄與django的Facebook的(插入AUTH_USER表)和他的數據被示出,但是當用戶註銷他的數據消失,並且如看到的已編輯的代碼以上登錄表單不顯示!
這裏是我進出用戶使用記錄的完整視圖:
def logout_view(request):
logout(request)
return HttpResponseRedirect('/')
def signin(request):
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
return HttpResponseRedirect('/')
else:
# TO RETURN ERROR
return HttpResponseRedirect('/')
else:
# TO RETURN ERROR
return HttpResponseRedirect('/')
如果我刪除從request.user.first_name出現錯誤請求:
您需要設置AUTH_PROFILE_MODULE在您的項目設置
也就是說所有的細節,我可以得到..
你的問題太模糊這樣做,是可以使用的屬性。是否返回錯誤?您的用戶是否已登錄,但未顯示歡迎消息?究竟是什麼 - 沒有工作......? –
所以你說模板總是渲染「Welcome,」? –
jdi
當用戶登錄時,首先說出他的名字,但是當他註銷時,它保持空白。 – dark4p