問題:
フォームに入力ボタンがあり、送信時に と の 2 つのパラメーターを関数 (以下にリスト) にリダイレクトする必要がありsearch_val
ますi
がmore_results()
、wsgi のビルド時に型エラーが発生します。
エラーは次のとおりです。TypeError: more_results() takes exactly 2 arguments (1 given)
html:
<form action="{{ url_for('more_results', past_val=search_val, ind=i ) }}" method=post>
<input id='next_hutch' type=submit value="Get the next Hunch!" name='action'>
</form>
フラスコ機能:
@app.route('/results/more_<past_val>_hunches', methods=['POST'])
def more_results(past_val, ind):
if request.form["action"] == "Get the next Hunch!":
ind += 1
queried_resturants = hf.find_lunch(past_val) #method to generate a list
queried_resturants = queried_resturants[ind]
return render_template(
'show_entries.html',
queried_resturants=queried_resturants,
search_val=past_val,
i=ind
)
ビルドエラーを回避する方法について何か考えはありますか?
私が試したこと:
jinja2 テンプレートで Flask アプリの URL へのリンクを作成する
url_for() で複数のパラメータを使用する場合
同様のビルドエラー
補足として、関数の目的は、誰かが「次のページ」ボタンを押したときにリストを反復処理することです。i
リストをインクリメントし続けるための参照を持つことができるように、変数を渡しています。よりうまく機能するフラスコ/ジンジャ2メソッドはありますか? Cycling_list 機能を調べましたが、ページをレンダリングしてから で再レンダリングするために使用できないようですcycling_list.next()
。