Flask, Python: проблема с получением данных из раскрывающегося меню для отображения при возврате шаблона рендеринга

avatar
Alphie
8 апреля 2018 в 06:19
496
1
-1

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

питон, колба:

from flask import Flask , render_template, redirect, request
app = Flask(__name__)  

@app.route('/')
def main():
    return render_template('index.html')

@app.route('/results', methods= ['GET','POST'])
def next():
    name = request.form['Name']
    city = request.form.get['city1','city2','city3']
    print(name, city)

    return render_template('results.html', name=name, city = city)

if __name__=="__main__":
    app.run(debug=True) 

html:

<div class="wrapper">
    <form action='/results' method = 'post'>
        <p>
            <label for="Name"> Your Name: </label>
            <input type="text" id="Name" name="Name">
            <input type='submit' value='submit'>
        </p>
        <p>
            <select name = city >
                <option value="SanJose" name = "city1">San Jose</option>
                <option value="Seattle" name = "city2">Seattle</option>
                <option value="LA" name = "city3">LA</option>
            </select>
        </p>
Источник
Oluwafemi Sule
8 апреля 2018 в 06:29
0

Ваша форма использует поле выбора. К выбранному значению можно получить доступ, используя значение для атрибута имени поля выбора. city = request.form['city']. option HTMLElement не имеет атрибута имени

Ответы (1)

avatar
user9524850
8 апреля 2018 в 06:39
0

Когда вы пытаетесь получить ввод из раскрывающегося списка выбора, просто выберите название всеобъемлющего выбора, которое является "городом", вместо всех возможных вариантов.

city = request.form['city']