如何从下拉列表中获取价值

Arn*_*nir 2 python flask flask-sqlalchemy

我试图从下拉框中获取值到变量然后存储它.我是Flask的新手,无法在文档中找到任何相关信息.但我不知道如何通过request.form或其他任何原因从下拉列表中获取值.

我的烧瓶代码在app.py中

@app.route('/add', methods=['POST'])
def add_entry():
    if not session.get('logged_in'):
        abort(401)
    title = request.form['title']
    link  = request.form['link']
    shown  = request.form['shown']

    #I hardcoded the id here too see basic function.

    kate = Category.query.filter_by(id = 2).first()
    add_into = Entries(title, link, shown, kate)
    db.session.add(add_into)
    db.session.commit()
Run Code Online (Sandbox Code Playgroud)

这是它的html.

<form action="{{ url_for('add_entry') }}" method=post class="add-entry custom">
  <dl>
    <dt>Title:
    <dd><input type=text size=120 name=title>
    <dt>Link:
    <dd><input type=text size=120 name=link>
    <dt>Shown:
    <dd><input type=text size=120 name=shown>
    <label for="customDropdown">Category</label>
    <select style="display:none;" id="customDropdown">
      {% for c in cate %}
        {% if c.id == 1 %}
          <option id="{{ c.name }}" name="{{ c.name }}" SELECTED>{{ c.name }}</option>
        {% else %}
          <option>{{ c.name }}</option>
        {% endif %}

      {% endfor %}
    </select>
    <dd><input class="success button" type=submit value=Post it!>
    </dl>
</form>
Run Code Online (Sandbox Code Playgroud)

Mar*_*eth 6

如果您希望将值作为表单数据传递,则select标记(如输入标记)需要"name"属性.

<select name="name" style="display:none;" id="customDropdown">
Run Code Online (Sandbox Code Playgroud)

现在,您应该可以通过request.form['name']输入元素来访问它.