2012-08-08 87 views
2

我试图从下拉框中获取值到变量中,然后存储它。我是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() 

这里烧瓶代码是它的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> 

回答

4

如果您希望将值作为表单数据传递,则选择标记(如输入标记)需要“name”属性。现在

<select name="name" style="display:none;" id="customDropdown"> 

,你应该能够通过request.form['name']访问它,你是你的输入元素。