2016-12-18 31 views
1
  <option value="1" {{ selected }}>1</option> 
      <option value="2" {{ selected }}>2</option> 
      <option value="3" {{ selected }}>3</option> 
      <option value="4" {{ selected }}>4</option> 

私はいくつかのドロップダウンメニューがあるフラスコアプリを持っています。ユーザーがフォームを送信したときに選択した値を渡して、次のページで以前の選択を表示したいとします。選択したドロップダウン値を記憶するPython/Flask

誰かがこの簡単な例を提供できますか?私はちょうどこれを達成する方法を概念化できません。

おかげ

神社テンプレート内

答えて

3

Pythonのフラスコビュー

@app.route('/form/') 
def form(): 
    # list of tuples representing select options 
    choices = [(str(x), str(x)) for x in range(1, 20)] 
    # test if value was passed in (e.g. GET method), default value is 1 
    selected = request.args.get('choice', '1') 
    # application 'state' variable with default value and test 
    state = {'choice': selected} 
    return render_template('view_form.html', choices=choices, state=state) 

{% for row in choices %} 
<option value="{{ row[0] }}"{% if row[0] == state.choice %} selected{% endif %}>{{ row[1] }}</option> 
{% endfor %} 
+0

私はこれを試してみましたが、私は任意のオプションを選択すると、フォームを送信するには、次のページがに選択をリセット1. –

+0

これを変更すると動作します: selected = str((request.form ['choz']))#selected = request.args.get( 'choice'、 '1') –

関連する問題