Django区分了第一次用户和返回用户

时间:2017-02-11 09:40:59

标签: python django django-models

我正在使用django registration redux进行登录和授权。我想做以下几点。

  1. 如果用户第一次登录我想重定向到URL-“profile / create”
  2. 如果用户是返回用户我不希望用户访问URL-“profile / create”,我希望用户被重定向到另一个URL。

2 个答案:

答案 0 :(得分:0)

django-registration-redux似乎使用Django的login-view来默认记录用户。

因此,我会提供一个自定义的登录视图,而是另外检查尝试登录的用户并检查是否已填写last_login

根据结果,一旦验证成功,用户就可以重定向到所需的页面。

答案 1 :(得分:0)

当用户第一次登录时,以最基本的形式

必须注册。 不要在登录时使用这种功能在注册功能(视图)

使用它

这是一个旧的草案代码,可以为您提供想法

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/')