2012-08-08 6 views
2

나는 드롭 다운 상자에서 값을 가져 와서 변수에 저장하려고합니다. 나는 플라스크에 새로운 사람이고 그것에 대해 문서에서 아무것도 찾을 수 없습니다. 하지만 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

입력 태그와 마찬가지로 선택 태그는 값을 양식 데이터로 전달하려는 경우 "이름"속성이 필요합니다. 당신이 당신의 입력 요소왔다으로

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

지금, 당신은 request.form['name']을 통해 액세스 할 수 있어야합니다.

관련 문제