Почему моя кнопка не возвращает "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>