Колба - Как я могу получить значение ввода по типу? - PullRequest
0 голосов
/ 15 декабря 2018

Как я могу получить значение, переданное запросом POST, по типу ввода?

При поиске я нахожу только те, которые получают атрибут ввода name (например, request.form['text'], когдаимя записи "текст" ). Я хотел бы использовать по типу, а не по имени .

Примечание : Есть несколько входных тегов, а не один.Таким образом, если я не ошибаюсь, должно быть что-то вроде getlist метода.

Я пытался использовать request.get_data(as_text=True), но тип вывода - Unicode, и я хотел бы массив.

@app.route('/finalizar', methods=['POST'])
def preencherExames():
    if request.method == 'POST':
        text = request.get_data(as_text=True)
        return render_template('finalizar.html', title='Selecionar exames', results=text)

Ответы [ 2 ]

0 голосов
/ 15 декабря 2018

Если я правильно читаю внутренности Flask, у вас нет доступа к свойству type вашего поля формы, когда оно достигает Flask

, если вы можете изменить имена полей в вашей форме, я бы предложилчто-то вроде этого:

for form_field_name in request.form.keys():
    if form_field_name.endswith('_text'):
        for value in request.form.getlist(form_field_name):
            # process values

где вы добавляете суффикс _text к своим полям типа text

Я знаю, что это некрасиво, но я надеюсь, что это поможет

0 голосов
/ 15 декабря 2018

Используйте getlist, если вы хотите список значений:

request.form.getlist('name')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...