Django автоматически отправляет форму при загрузке страницы
У меня есть эта форма внутри моего представления
if request.method == 'POST':
button_form = TicketSolved(request.POST)
if button_form.is_valid():
return redirect('https://google.com')
Я удалил содержимое и добавил перенаправление на google, чтобы проверить, не сломался ли он. Когда страница загружается, я автоматически перенаправляюсь на google.com, поэтому форма будет отправлена автоматически, что плохо.
Это нормальная форма в шаблоне HTML
<form method="POST">
{% csrf_token %}
{{ button_form }}
<button type="submit">
Как остановить автоматическое отправление формы при загрузке страницы? Потому что форма будет фактически кнопкой. Когда кто-то нажмет на кнопку (форма действительна), будет выполнен следующий код: obj.reopened_counter += 1
# if obj.reopened_counter > 5:
# obj.ticket_waiting = True
# obj.ticket_solved = False
#
# if obj.ticket_waiting == False and obj.ticket_solved == True:
# obj.ticket_waiting = True
# obj.ticket_solved = False
# else:
# obj.ticket_waiting = False
# obj.ticket_solved = True
# obj.save()
Поэтому каждый раз, когда кто-то нажимает на кнопку в форме, счетчик будет увеличиваться на +1. Но даже если пользователь просто перезагрузит страницу, счетчик увеличится на +1 из-за этой auto-submit-when-loading-view проблемы.