8

私はこのhtmlビットを持っています:

<form action='quiz_answers'>
    <p> Question1? </p>
    <input type="radio" name="q1" value="2">Answer1</input>
    <input type="radio" name="q1" value="1">Answer2</input>
    <input type="radio" name="q1" value="0">Answer3</input>
    <input type="radio" name="q1" value="0">Answer4</input>

    <p> Question2? </p>
    <input type="radio" name="q2" value="2">Answer1</input>
    <input type="radio" name="q2" value="1">Answer2</input>
    <input type="radio" name="q2" value="0">Answer3</input>
    <input type="radio" name="q2" value="0">Answer4</input>
</form>

そしてこのpythonコード:

from flask import Flask, render_template, request

@app.route('/quiz')
def quiz():
    return render_template('quiz.html')

@app.route('/quiz_answers', methods=['POST'])
def quiz_answers():
    q1 = request.form['q1']
    q2 = request.form['q2']
    q4 = request.form['q4']
    q5 = request.form['q5']

if __name__ == "__main__":
    app.debug = True
    app.run(host='0.0.0.0')

ボタンをクリックして+質問1と2に回答した後、結果を含む新しいテンプレートを開くボタンを追加するにはどうすればよいですか? 要するに、「はい、質問に回答しました。値を数えて、新しい HTML ページに返す」というボタンを作成するにはどうすればよいですか?

Flask クイック スタート チュートリアルは HTTP リクエストを通過しますが、この特定の状況での私の質問には答えません。グーグルは、私をどこにも連れて行かなかったこのスタックオーバーフロースレッドのみを生成しました。

4

1 に答える 1

14

submitボタンをフォームに追加して、データ応答を POST または GET に戻すことができるはずですaction

この場合、フォーム タグの定義を次のように変更することをお勧めします。

<form action="/quiz_answers" method="POST">

そして、次のような送信ボタンを追加します。

<input type="submit" value="Submit!" />

ユーザーがクリックすると、に戻る POST 要求が生成されhttp://your_server/quiz_answersます。

于 2013-10-06T20:03:43.700 に答える