2013-10-06 8 views
6

mam to HTML bitowe:Jak wprowadzić html do 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> 

i ten kod Pythona:

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') 

jak pójdę o dodanie dokonywania przycisk, który, po jego kliknięciu na + pytanie 1 i 2, otrzymałem odpowiedź, otwiera nowy szablon z wynikami? Krótko mówiąc, jak zrobić przycisk z napisem "Tak, pytania zostały odebrane, policz wartości i zwróć je na nowej stronie HTML"?

Samouczek dotyczący programu Flask Quick Start nie przechodzi przez żądania HTTP, ale nie odpowiada na moje pytania w tej konkretnej sytuacji. Googling dał tylko this stackoverflow thread, który nigdzie mnie nie przyniósł.

Odpowiedz

13

Powinieneś być w stanie dodać przycisk submit do formularza POST lub uzyskać odpowiedź danych z powrotem do action.

W tym przypadku, będzie prawdopodobnie chcesz zmodyfikować formularz definicję znacznika do:

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

i dodać przycisk Prześlij tak:

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

Gdy użytkownik kliknie, powinien on generować żądanie POST z powrotem do http://your_server/quiz_answers.

+1

Tak, który działał bez zarzutu. Oznaczoną odpowiedź jako zaakceptowaną odpowiedź. :] – user2374668

Powiązane problemy