如何将HTML输入到Flask?

use*_*668 7 html python http flask web

我有这个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>
Run Code Online (Sandbox Code Playgroud)

和这个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')
Run Code Online (Sandbox Code Playgroud)

我如何添加一个按钮,在点击后+问题1和2被回答后,打开一个带有结果的新模板?简而言之,我如何制作一个按钮说"是的,问题已经回答,计算值并将它们返回到新的HTML页面"?

Flask快速入门教程确实通过HTTP请求,但在这种特定情况下没有回答我的问题.谷歌搜索只产生了这个stackoverflow线程,并没有带我到任何地方.

Mic*_*ael 14

您应该能够submit在表单中添加一个按钮以POST或将数据响应返回给action.

在这种情况下,您可能希望将表单标记定义修改为:

<form action="/quiz_answers" method="POST">
Run Code Online (Sandbox Code Playgroud)

并添加如下提交按钮:

<input type="submit" value="Submit!" />
Run Code Online (Sandbox Code Playgroud)

当用户点击时,它应该生成一个POST请求http://your_server/quiz_answers.