2016-04-27 5 views
0

Ich bin ein neuling zu flask und versuche, formular einreichen mit zwei webseiten.basic python flask zwei seite form eingabe und update

Grundsätzlich gibt es zwei Seiten, in der app.py sie als

@app.route('/') 
def index(): 
... 
@app.route('/results', methods=['POST']) 
def results(): 
... 

geroutet werden Es gibt ein Formular Vorlage auf ‚/‘ und eine auf ‚/ Ergebnisse‘. Gerade jetzt, klicken Sie auf die Schaltfläche auf ‚/‘ leitet den Benutzer auf ‚/ Ergebnisse‘, mit der Texteingabe zu ‚/ Ergebnisse‘ als auch gesendet

<form method=post action='/results'> 
    <dl>              
    {{ render_field(form.channel_title) }}      
    </dl>              
    <input type=submit value='analyze' name='sumbit_btn'>  
</form> 

Dieser Teil funktioniert. Was ich jetzt tun möchte, ist, den Knopf auf '/ results' zu drücken, so dass der Text in seinem Eingabeformular verwendet wird, um etwas Text auf sich selbst zu aktualisieren. Das Problem ist, dass zur Eingabe von '/ results' die Eingabe von '/' benötigt wird.

def results(): 
    .... 
    return render_template('results.html', channel=channel) 

Wie kann ich dann dieses Formular Vorlage implementieren auf ‚/ Ergebnisse‘, die seine beiden Eingänge eigene Form senden und auch die alte Eingabe von ‚/‘, so dass ‚/ Ergebnisse‘ aktualisiert werden können? Jeder Vorschlag wird geschätzt. Vielen Dank.

+1

Verwenden Sie ein ''. –

Antwort

1

Sie können die Daten zur Kolbensitzung hinzufügen.

from flask import Flask, session, abort, request, render_template 

@app.route('/results', methods=['POST']) 
def results(): 
    if request.form['channelname'] in ALLOWED_CHANNELS: 
     session['channel'] = request.form['channelname'] 
    if 'channel' in session: 
     return render_template('results.html', channel=session['channel']) 
    else: 
     abort(400)