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 请求,但在这种特定情况下没有回答我的问题。谷歌搜索只产生了这个没有把我带到任何地方的stackoverflow线程。

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 回答