Django Login в контекстном процессоре работает некорректно

Я пытался отобразить форму входа и регистрации во всех моих приложениях Django. Для этого я использую context_processor, который отображает форму входа в контекст

вот мой context_processors.py в app

def login_request(request):
    if request.method == "POST":
        form = AuthenticationForm(request, data=request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            user = authenticate(username=username, password=password)
            if user is not None:
                auth.login(request, user)
                return redirect("visuapp:user_page")
            else:
                messages.error(request, "Invalid username or password.")
    else:
        messages.error(request, "Invalid username or password.")
    form = AuthenticationForm()
    return {"login_form": form}

Затем я вызываю процессоры в settings.py

TEMPLATES = [
    {
        ...
        'OPTIONS': {
            'context_processors': [
                ...
                'myapp.context_processors.login_request',
            ],
        },
    },
]

Наконец, я объявил форму в модале в своем шаблоне base.html

<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#loginModal">
                    SignIn
                </button>

                <!-- Modal -->
                <div class="modal fade" id="loginModal" tabindex="-1" role="dialog"
                     aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
                    <div class="modal-dialog modal-dialog-centered" role="document">
                        <div class="modal-content">
                            <div class="modal-header">
                                <h5 class="modal-title" id="exampleModalLongTitle">Modal title</h5>
                                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                                    <span aria-hidden="true">&times;</span>
                                </button>
                            </div>
                            <div class="modal-body">
                                <h1>Login</h1>
                                <form method="POST">
                                    {% csrf_token %}
                                    {{ login_form }}
                                    <button class="btn btn-primary" type="submit">Login</button>
                                </form>
                                <p class="text-center">Forget Password? <a
                                        href="{% url 'password_reset' %}">Change password</a>.
                                </p>
                                <p class="text-center">Don't have an account? <a
                                        href="#registerModal">Create an
                                    account</a>.</p>
                            </div>
                            <div class="modal-footer">
                                <button type="button" class="btn btn-secondary" data-dismiss="modal">Close
                                </button>
                                <button type="button" class="btn btn-primary">Save changes</button>
                            </div>
                        </div>
                    </div>
                </div>

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

dictionary update sequence element #0 has length 0; 2 is required

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

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