簡體   English   中英

自定義 Django 登錄表單未登錄用戶

[英]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 並且未登錄。

我無法弄清楚為什么使用內置的authenticatelogin功能不起作用,所以我使用它作為解決方法。

user = authenticate(username=username, password=password)

request.session['user'] = user.id

然后,當我需要知道用戶是否登錄時,我只需檢查請求。

暫無
暫無

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

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