Почему моя кнопка не возвращает "POST" django?

Когда я нажимаю на кнопку, я всегда получаю метод GET вместо post: Есть идеи? Спасибо!

<body>
<form action="/reset" type="POST">
    {% csrf_token %}
    <h3>Random Word (attempt # {{request.session.counter}})</h3>
    <div>
        <h1>{{request.session.rword}}</h1>
    </div>
    <label for="title">Title</label>
        <input type="text" name="title" id="">
    <button type="submit">Generate</button>
</form>

Тип запроса задается атрибутом method="…, поэтому:

<form action="/reset" method="POST">
     …
</form>
<body>
<form action="/reset" method="POST">
    {% csrf_token %}
    <h3>Random Word (attempt # {{request.session.counter}})</h3>
    <div>
        <h1>{{request.session.rword}}</h1>
    </div>
    <label for="title">Title</label>
        <input type="text" name="title" id="">
    <button type="submit">Generate</button>
</form>

Из-за того, что вы использовали атрибут type, а не атрибут method (который является правильным), ваш код не работает. Чтобы изменить это, необходимо изменить type на method. Также, для секции action вашей формы, я думаю, лучше использовать шаблоны Django url, например, {% url 'reset' %}, а не писать /reset.

<body>
<!-- So in this line, I changed the action, as well as the type to method, make sure to put the actual url pattern of the /reset page rather than what I put -->
<form action="{% url 'reset' %}" method="POST">
    {% csrf_token %}
    <h3>Random Word (attempt # {{request.session.counter}})</h3>
    <div>
        <h1>{{request.session.rword}}</h1>
    </div>
    <label for="title">Title</label>
        <input type="text" name="title" id="">
    <button type="submit">Generate</button>
</form>
<body>

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