[英]Custom Django Login Form Not Logging Users In
我正在嘗試為我的 webapp 創建一個登錄頁面。 我可以通過官方管理頁面登錄用戶,但是當我使用我的頁面時 request.user 沒有登錄。
def index(request):
if request.method == 'POST':
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(username=username, password=password)
if user is not None:
login(request, user)
return render(request, 'AllocationWebapp/browse.html', {})
else:
print("Invalid login details: {0}, {1}".format(username, password))
return render(request, 'AllocationWebapp/browse.html', {'error': "Invalid login details supplied."})
else:
return render(request, 'AllocationWebapp/login.html', {})
用戶設置正確,但登錄后 request.user 仍然是 AnonymousUser 並且未登錄。
我無法弄清楚為什么使用內置的authenticate
和login
功能不起作用,所以我使用它作為解決方法。
user = authenticate(username=username, password=password)
request.session['user'] = user.id
然后,當我需要知道用戶是否登錄時,我只需檢查請求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.