Получить идентификатор или имя из тега HTML с помощью Python Flask - PullRequest
0 голосов
/ 30 августа 2018

Я новичок в фляге Python и пытаюсь проверить форму, используя то же самое. Ниже приведен HTML-код

<form action="" method=post enctype=multipart/form-data>
  <p><input type=file name=file>
     <input type=submit value=Upload id="my_id">
</form>

Когда пользователь нажимает на загрузку, запрос отправляется на код колбы питона. Но я хотел получить идентификатор (в данном случае my_id) без его явного указания.

    if request.method == 'POST':
    try:
        file = request.files.get('file')

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

Зачем мне это нужно, потому что я добавлю больше опций загрузки в ближайшем будущем. Следовательно, если я правильно получу идентификатор, я могу напрямую загрузить загруженный файл, относящийся к этой кнопке.

Заранее спасибо

1 Ответ

0 голосов
/ 30 августа 2018

Невозможно обнаружить id тега нажатой кнопки с сервера, поскольку идентификатор не отправляется на сервер. На сервер отправляется список из name: value пар.

Таким образом, можно создать три кнопки отправки с разными именами и / или значениями.

<input type="submit" name="submit_button" value="Upload Lion">
<input type="submit" name="submit_button" value="Upload Tiger">

Затем на стороне сервера можно обнаружить нажатую кнопку:

if request.form['submit_button'] == "Upload Lion":
    process_lion()
elif request.form['submit_button'] == "Upload Tiger":
    process_tiger()

С другой стороны, тег <button> дает вам больше свободы, поскольку вы можете указать значение для отправки на сервер, которое будет отличаться от метки, например:

<button type="submit" name="submit_button" value="lion">Upload</button>
<button type="submit" name="submit_button" value="tiger">Upload</button>

А потом:

if request.form['submit_button'] == "lion":
    process_lion()
elif request.form['submit_button'] == "tiger":
    process_tiger()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...