Несколько форм на 1 странице Python FLASK - PullRequest
0 голосов
/ 03 ноября 2018

Итак, я загружаю всех пользователей из базы данных на одной странице и создаю форму для сброса пароля для каждого пользователя на одной странице, а не для отдельной страницы для каждого пользователя.

Мой вопрос: как я могу нажать кнопку «Отправить» и применить изменения для этого конкретного пользователя, поскольку у меня есть несколько форм и кнопки отправки для каждого пользователя через раскрывающееся меню?

В моем случае кнопка отправки - это кнопка «Сброс пароля».

enter image description here

Я пытаюсь вызвать форму, используя

if request.method == "POST" and form.validate():
    password = request.form['password']

но я получаю ошибку исключения

name 'form' is not defined

Я пытался решить эту проблему некоторое время, но сейчас я запутался, потому что у меня есть несколько форм (по одной на пользователя) на одной странице.

ПРИМЕЧАНИЕ: я не использую WTForms для этой задачи

Спасибо

1 Ответ

0 голосов
/ 14 января 2019

Я не уверен, что на этот вопрос ответили, но вот что я только что выяснил:

После вашего стандарта

if request.method == 'POST':

вы можете проверить наличие каждого элемента формы в данных request.form. Поэтому добавьте еще один оператор if после первого

if 'my_form_element_name' in request.form:
    print ('stuff')

Если у вас есть другие типы данных формы, такие как файлы, вы можете сделать что-то вроде:

if request.method == 'POST':
    if 'file_element_name' in request.files:
        return stuff
    elif 'my_form_element_name' in request.form:
           return stuff
    else: return stuff
else: return stuff

У меня есть четыре формы в одном файле HTML, и этот метод работал для меня.

...