Функция вызова с кнопки в Django - PullRequest
0 голосов
/ 25 июня 2018

На одной из моих страниц я хочу отображать кнопку, при каждом нажатии этой кнопки я хочу отображать на своем экране следующее: «Нажатие кнопки».

Однако на моей консоли отображается следующее сообщение. ""GET / account / all-plan /? Print_btn = Нажмите HTTP / 1.1" 200 5025 "

Это мой взгляд

def print_from_button(request):
if(request.GET.get('print_btn')):
    print('Button clicked')
return HttpResponse('testklik')

html

<form method="get">
   <input type="submit" class="btn" value="Click" name="print_btn">
</form>

иurl в urls.py

path('all-plan/print_from_button', views.print_from_button, name='print_from_button'),

Может ли кто-нибудь указать мне правильное направление, я не могу найти то, что мне не хватает.Большое спасибо!

1 Ответ

0 голосов
/ 25 июня 2018

Похоже, у вас есть URL:

  1. /account/all-plan/
  2. /account/all-plan/print_from_button

В первом URL вы создаете <form>, который использует метод GET, но атрибут action не указан. В результате ваша форма отправляется на тот же URL, что и текущая страница (первый URL). Это видно из того, что ваша консольная печать говорит, что использует первый URL с дополнительным GET-параметром .

Чтобы ваша форма использовала правильный URL-адрес, вам необходимо указать атрибут action с правильным URL-адресом:

<form method="get" action="{% url "app_name:print_from_button" %}">
  ...
</form>
...