Запрос формы Django всегда отвечает "GET" вместо "POST", даже когда я использую <form action="" method="post">.

Пожалуйста, помогите мне, я ищу решение уже несколько часов, но так ничего и не нашел.

Вот мой HTML:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">

    <style>
        input {
            width: 10%;
            margin: 0 auto;
            display: block;
            margin-left: auto;
            margin-right: auto;
        }
    </style>

</head>

<body>


    {% load crispy_forms_tags %}

    <div class="container">
        <form action="" method="post">

        {% csrf_token %}
            {% crispy form %}
        <input type="submit" class="btn btn-primary mx-auto d-block">
        </form>
    </div>


</body>
</html>

и вот мой views.py:


from django.shortcuts import render
from .forms import UserInformationForm
# Create your views here.


def register(request):
    form = UserInformationForm()
    context = {"form": form}

    print(form)

    if request.method == "POST":
        print("Post")
        form = UserInformationForm(request.POST)
        if form.is_valid():
            form.save()
            print(form)

    return render(request, 'index.html', context)

Единственный ответ, который я получаю, это: "GET /register/ HTTP/1.1" 200 3542

Я уже пробовал такие вещи, как if request.method == "GET": Но тогда у меня на каждом поле в форме была отметка "This fiel is required"

пожалуйста, ознакомьтесь с документацией django введите описание ссылки здесь

    form = UserInformationForm()
    context = {"form": form}

вам не нужно добавлять эти коды. Если это POST-запрос, нам нужно обработать данные формы

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