Как заставить мои сообщения отображаться на Django для регистрационной формы?

Я создаю форму регистрации, используя фреймворк Django, и хочу выводить пользователю сообщения об ошибках, если он введет неправильный пароль для подтверждения, или e-mail уже занят и т.д. Я написал код, и он вроде бы работает, но я не могу заставить сообщения отображаться на экране при перенаправлении на страницу регистрации, если в форме произошла ошибка. Я импортировал сообщения на странице views.py (из django.contrib import messages), и я думаю, что мой setting.py настроен правильно: setting.py

Вот мой код views.py:

def register(request):
if request.method == "GET":
    register_form = RegisterForm()
    return render(request, "main/register.html", {
        'form': register_form
    })
else:
    register_form = RegisterForm(request.POST)
    if register_form.is_valid():
        first_name = request.POST['first_name']
        last_name = request.POST['last_name']
        username = request.POST['username']
        email = request.POST['email']
        password = request.POST['password']
        confirm_password = request.POST['confirm_password']


        if password == confirm_password:
            if User.objects.filter(email=email).exists():
                    messages.info(request, 'Email or user name Already taking')
                    return redirect('register')
            elif User.objects.filter(username=username).exists():
                    messages.info(request, 'username is taken')
                    return redirect('register')
            else:
                User.objects.get_or_create(username=username, 
                first_name=first_name, last_name=last_name, email=email, 
                password=password)
                
                return redirect('main/login.html')
        else:
            messages.error(request, 'Password Not Match')
            return redirect('register')   
        #return redirect ('/')     
    else:
        return render(request, 'main/login.html')

и вот моя форма register.html:

          <form action="{% url 'register' %}" method="POST">
                {% csrf_token %}
                <fieldset>
                    <legend>Enter details</legend>
                    <ul>
                        {{ form.as_table }}
                    
                        <button type="submit" class="mybutton _f-purple" value="submit">Register</button>
                    </ul>
                </fieldset>
            </form>

Заранее спасибо всем, кто может помочь

hello я думаю это то, что вам нужно

          {% if messages %}
            <div class="mgs-area">
                <div class="mgs-item">
                {% for message in messages %}
                <span {% if message.tags %} class="nav_item message-{{ message.tags }} " {% endif %}> {{ message }} </span>
                {% endfor %}
                </div>
            </div>
            {% endif %}

Вы можете по-разному стилизовать сообщения об успехе или ошибке

class="nav_item message-{{ message.tags }}

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