2013-10-06 20 views
6

我有这样的HTML位:如何将html输入到Flask?

<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 Quick Start教程确实会通过HTTP请求,但在这种特定情况下不会回答我的问题。谷歌搜索只产生this stackoverflow thread哪些没有带给我任何地方。

回答

13

您应该可以在窗体上添加一个submit按钮以POST或者将数据响应返回到action

在这种情况下,你可能会想修改表单标签定义:

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

,并添加一个提交按钮这样的:

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

当用户点击,它应该产生POST请求返回到http://your_server/quiz_answers

+1

是的,工作完美无瑕。将答案标记为已接受的答案。 :] – user2374668

相关问题