Выполнения условия при нажатии на кнопку в django

Код в html:

<form method='get'>
    <input type="submit" value="Удалить"  name="delete">
</form>

Код в views.py

if request.GET.get('delete'):
    request.session.clear()

Почему при нажатии на кнопку меня переадресует на? http://127.0.0.1:8000/?delete=Удалить

Когда мне нужно так же оставаться на адресе: http://127.0.0.1:8000/

Как это сделать?


Ответы (1 шт):

Автор решения: Roman Konoval

Замените метод GET на POST.

<form method="POST">
  <input type="submit" value="Удалить" name="delete"/>
</form>

# view.py

if request.POST.get('delete'):
   requets.session.clear()

В этом случае параметры будут передаваться в теле запроса, а не в URL.

Еще одна причина перейти на GET, это то, что GET не должен использоваться с методами, которые меняют состояние сервера, а только для read-only операций.

→ Ссылка