Как определить событие нажатия кнопки на странице шаблона на странице просмотра django? - PullRequest
2 голосов
/ 20 декабря 2011

Я делаю небольшой проект в django с использованием python.

В этом проекте есть таблица со списком отложенных задач, имеющая столбцы: task_id, summary, description, due_date.

Я должен дать кнопку «редактировать» в каждой строке, чтобы можно было редактировать данные этой конкретной строки.Но я не могу определить событие нажатия кнопки на странице просмотра для конкретной строки.Пожалуйста, кто-нибудь, помогите мне ...

Ответы [ 2 ]

6 голосов
/ 20 декабря 2011

Я предполагаю, что вы не говорите о событиях щелчка в браузере, так как вы помечаете это только для python и django.

Вы можете определить, какой элемент <input type="submit"> был нажат, присвоив ему name.

Пользователь, нажимающий на <input type="submit" value="edit" name="summary" />, будет идентифицирован по наличию клавиши summary в request.POST

# form snippet
<input type="submit" value="Edit Summary" name="summary" />
<input type="submit" value="Edit Due Date" name="due_date" />

# view snippet
if request.POST.get('summary'):
    print('user clicked summary')
elif request.POST.get('due_date'):
    print('user clicked due date')
0 голосов
/ 04 ноября 2013

Ниже приведен мой ответ (пример), если вы хотите использовать «GET» вместо «POST». Предполагая, что вы хотите получить значение из пользовательского ввода в текстовом поле html всякий раз, когда пользователь нажимает кнопку «Изменить», а затем вызывать функцию python (mypythonfunction), которую вы написали в mypythoncode.py. Обратите внимание, что класс "btn" определен в файле CSS.

внутри yourtemplate.html:

<form action="#" method="get">
 <input type="text" value="8" name="mytextbox" size="1"/>
 <input type="submit" class="btn" value="edit" name="mybtn">
</form>

вид изнутри. Py:

import mypythoncode

def mymethod(request):
  if(request.GET.get('mybtn')):
    mypythoncode.mypythonfunction( int(request.GET.get('mytextbox')) )
return render_to_response('App/yourtemplate.html')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...