Не могу заставить свою регистрационную форму работать должным образом

Я смотрю курс на youtube, который называется "Python Backend Web Development Course (with Django)" и столкнулся с некоторыми проблемами. Я написал тот же код, что и в видео, но моя форма регистрации не работает.

Когда я нажимаю кнопку Submit, никаких сообщений об ошибках не появляется и пользователь не регистрируется.

Можете ли вы помочь мне решить эту проблему, пожалуйста?

views.py

def register(request):
    context = {}

    if request.method == 'POST':
        username = request.POST['username']
        email = request.POST['email']
        password = request.POST['password']
        password2 = request.POST['password2']

        if password == password2:
            if User.objects.filter(email=email).exists():
                messages.info(request, 'Email is already used')
                return redirect('register')
            elif User.objects.filter(username=username).exists():
                messages.info(request, 'Username is already used')
                return redirect('register')
            else:
                user = User.objects.create_user(
                    username=username, email=email, password=password)
                user.save();
                return redirect('login')
        else:
            messages.info(request, 'Password does not match')
            return redirect('register')
    else:
        return render(request, 'register.html')

register.html

<!DOCTYPE html>
<html lang="en">
    {% load static %}
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
    </head>
    <body>
        <h1>Sign up</h1>
        <style>
            h5 {
                color: red;
            }
        </style>
        {% for message in messages %}
        <h5>{{message}}</h5>
        {% endfor %}
        <form mehod="POST" action="register">
            {% csrf_token %}
            <p>Username:</p>
            <input type="text" name="username" />
            <p>Email:</p>
            <input type="email" name="email" />
            <p>Password:</p>
            <input type="password" name="password" />
            <p>Confirm password:</p>
            <input type="password" name="password2" /><br />
            <input type="submit" />
        </form>
    </body>
</html>

Любой совет поможет, потому что я действительно хочу выяснить, где проблема и почему мой код не работает должным образом.

Попробуйте это:

def register(request):
    context = {}

    if request.method == 'POST':
        username = request.POST['username']
        email = request.POST['email']
        password = request.POST['password']
        password2 = request.POST['password2']

        if password == password2:
            if User.objects.filter(email=email).exists():
                messages.info(request, 'Email is already used')
                return redirect('register')
            elif User.objects.filter(username=username).exists():
                messages.info(request, 'Username is already used')
                return redirect('register')
            else:
                user = User(
                    username=username, 
                    email=email, 
                    password=password) # i changed objects.create_user() to User()
                user.save();
                return redirect('login')
        else:
            messages.info(request, 'Password does not match')
            return redirect('register')
    else:
        return render(request, 'register.html')

Так что проблема была в неправильном написании, прошу прощения у всех за то, что разместил этот вопрос. Я должен был проверить его должным образом

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