创建帐户后,Django 用户无法登录,但管理员可以

时间:2021-04-29 10:44:00

标签: django

我成功注册了一个用户。但是当我尝试登录时,它说用户名或密码错误。这只会发生在普通用户身上。超级管理员可以毫无问题地登录。

登录查看

def login(request):
    if request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password']

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

        if user is not None:
            auth.login(request, user)
            messages.success(request, 'Logged in succesfully')
            return redirect('dashboard')
        else:
            messages.error(request, 'Username or password is wrong')
            return redirect('login')

    return render(request, 'accounts/login.html')

注册查看

def register(request):
    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            first_name = form.cleaned_data['first_name']
            last_name = form.cleaned_data['last_name']
            phone = form.cleaned_data['phone']
            username = form.cleaned_data['username']
            email = form.cleaned_data['email']
            password = form.cleaned_data['password']
            user = Account.objects.create_user(
                first_name=first_name,
                last_name=last_name,
                username=username,
                email=email,
                password=password
            )
            user.phone = phone
            user.save()
            messages.success(request, 'Created an account succesfully!')
            return redirect('dashboard')
    else:
        form = RegistrationForm()

    context = {
        'form': form
    }

    return render(request, 'accounts/register.html', context)

如果您希望我发送任何其他代码,请指定以便我编辑问题

0 个答案:

没有答案