Перемещение ошибки аутентификации в форме django crispy

Я создал страницу входа в систему, используя систему аутентификации django.

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

Я прикрепил, куда нужно переместить мое сообщение

смещение сообщения

forms.py

class LoginForm(AuthenticationForm):

remember_me = forms.BooleanField(required=None)

def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)
    self.helper = FormHelper()
    self.helper.form_id = "id-authenticationForm"
    self.helper.form_class = "form-signin"
    self.helper.form_method = "post"
    self.helper.form_action = "login"
    self.helper.layout = Layout(

        
            HTML("""{% load static %}<img class="mb-4" src="{% static 'images/logo.jpg' %}" >
                    <h1 class="h3 mb-3 fw-normal">Please sign in</h1>"""),

            FloatingField("username", "password"),
            
            Div(
                Div(
                    Div("remember_me", css_class="checkbox mb-3"),css_class="col"),
                    Div(HTML("<p><a href='{% url 'password_reset' %}'>Lost password?</a></p>"),css_class="col"),
                css_class="row"
                ),

            Submit('submit', 'Sign in', css_class="w-100 btn btn-lg btn-primary"),
            
            HTML("""<p class="mt-5 mb-3 text-muted">&copy; 2022 all rights deserved</p>""")
            
            )

login.html.py

 {% extends "blog/base.html" %}{% load crispy_forms_tags %}
    
    {% block content %}
        {% crispy form %}  
    {% endblock %}

views.py

    def custom_login(request, user, backend=None):
    """
    modificated generic.auth login.
    Send signal with extra parameter: previous [session_key]
    """

    # get previous seesion_key for signal 
    prev_session_key = request.session.session_key

    #send extra argument prev_session_key 
    user_logged_in.send(sender=user.__class__, request=request, user=user, prev_session_key=prev_session_key)

class CustomLoginView(LoginView):
    form_class = LoginForm

    def form_valid(self, form):
        super().form_valid(form)

        """Security check complete. Log the user in."""
        #changed default login
        custom_login(self.request, form.get_user())

        #get remember me data from cleaned_data of form
        remember_me = form.cleaned_data['remember_me']  

        if not remember_me:
            self.request.session.set_expiry(0)  # if remember me is 
            self.request.session.modified = True

        return HttpResponseRedirect(self.get_success_url()) 
Вернуться на верх