2013-10-06 21 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

相關問題