Новые пользователи не могут войти в сеансы в Django

Я создал форму регистрации пользователя, когда я пытаюсь зарегистрировать нового пользователя, он возвращается к той же форме, пока я перенаправляю его на главную страницу. Когда я пытаюсь войти в систему, я получаю None, поэтому в шаблоне выводится 'Wrong username or password.'. Однако, суперпользователь, которого я создал через командную строку после первой установки django, может войти без проблем.

views.py

from .models import *
from .forms import OrderForm, CustomerForm, CreateUserForm
from django.contrib.auth.forms import UserCreationForm
from django.contrib import messages
from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.decorators import login_required


def registerPage(request):
    if request.user.is_authenticated:
        return redirect('home')
    else:
        if request.method == 'POST':
            form_value = CreateUserForm(request.POST)
            if form_value.is_valid():
                form_value.save()
                user = form_value.cleaned_data.get('username')
                messages.success(request, 'Account was create for {}'.format(user)) 
                return redirect('login')
        form_value = CreateUserForm
        context = {'form_key':form_value}
        return render(request, 'accounts/register.html', context)

def loginPage(request):
    if request.user.is_authenticated:
        return redirect('home')
    else:
        if request.method == 'POST':
            username_value=request.POST.get('username')
            password_value=request.POST.get('password')
            user = authenticate(request, username=username_value, password=password_value)
            if user is not None:
                login(request, user)
                return redirect('home')
            else:
                messages.info(request, 'Username or Password is incorrect')
        context = {}
        return render(request, 'accounts/login.html', context)

forms.py

from django.db import models
from django.forms import ModelForm, fields
from django.contrib.auth.forms import UserCreationForm
from django import forms
from django.contrib.auth.models import User


class CreateUserForm(UserCreationForm):
    class Meta:
        model = User
        fields = ['username', 'email', 'password1', 'password2']

Я думаю, что проблема возникает, когда я создаю пользователя. Если вам нужно больше информации, пожалуйста, дайте мне знать

зарегистрировать представление

def register(request):
    if request.method == "GET":
        return render(
            request, "users/register.html",
            {"form": CustomUserCreationForm}
        )
    elif request.method == "POST":
        form = CustomUserCreationForm(request.POST)
        if form.is_valid():
            user = form.save()
            login(request, user)
            return redirect(reverse("dashboard"))

просмотр входа

from django.contrib.auth.views import LoginView


class customLoginView(LoginView):
    pass

Самым простым способом входа пользователей в систему является использование Login View.

Вернуться на верх