簡體   English   中英

Django區分首次使用者和回訪使用者

[英]Django differentiate between the first time user and returning user

我正在使用django注冊redux進行登錄和身份驗證。 我要執行以下操作。

  1. 如果用戶是第一次登錄,我想重定向到URL-“個人資料/創建”
  2. 如果用戶是回訪用戶,則我不希望該用戶訪問URL-“配置文件/創建”,並且我希望將用戶重定向到另一個URL。

django-registration-redux似乎使用Django的登錄視圖來默認登錄用戶。

因此,我將提供一個自定義的登錄視圖,該視圖另外檢查嘗試登錄的用戶,並檢查last_login是否已填寫。

根據結果​​,一旦身份驗證成功,便可以將用戶重定向到所需的頁面。

首次登錄時必須以最基本的形式進行注冊。 登錄時不要使用這種功能,請在注冊功能中使用它(查看)

這是一個舊的代碼草案,可以讓您了解

def ragister(request):
    if request.user.is_authenticated:
        return HttpResponseRedirect('/profile-settings/')

    if request.method == 'POST':
        fname = request.POST['fname']
        lname = request.POST['lname']
        username = request.POST['username']
        password = request.POST['password']
        users = User()
        users.password = password
        users.username = username
        users.first_name = fname
        users.last_name = lname

        try:
            users.set_password(password)
            users.save()
            users = authenticate(username=username, password=password)
            if users is not None:
                login(request,users)
                return HttpResponseRedirect('/profile-settings/')
            messages.success(request, "This number is registered please try other number or reset your password")
            return HttpResponseRedirect('/register/')

暫無
暫無

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

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