我有这个 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 请求,但没有回答我在这种特定情况下的问题。谷歌搜索只产生了 this stackoverflow thread这并没有带我到任何地方。
最佳答案
您应该能够向表单添加一个submit
按钮以将数据响应POST 或GET 返回给action
。
在这种情况下,您可能希望将表单标记定义修改为:
<form action="/quiz_answers" method="POST">
然后像这样添加一个提交按钮:
<input type="submit" value="Submit!" />
当用户点击时,它应该生成一个 POST 请求返回到 http://your_server/quiz_answers
。
关于python - 如何将html输入到Flask?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19213226/