2016-09-29 3 views
2

Ich lerne Flash mit Python. Meine Python-Fähigkeiten sind okay, aber ich habe keine Erfahrung mit Web-Apps. Ich habe ein Formular, das einige Informationen enthält und ich möchte es nach der Übermittlung wieder anzeigen. Ich kann diesen Teil tun, aber ich kann nur eine Variable von dieser Form zurückgeben, obwohl es 3 Variablen in der Form gibt. Ich kann jeden einzeln, aber nicht alle zusammen zurückgeben. Wenn ich alle 3 versuche, bekomme ich einen 500 Fehler. Hier ist der Code Ich arbeite mit:Kolben kehren mehrere Variablen zurück?

from flask import Blueprint 
from flask import render_template 
from flask import request 

simple_page = Blueprint('simple_page', __name__) 

@simple_page.route('/testing', methods=['GET', 'POST']) 
def my_form(): 
     if request.method=='GET': 
      return render_template("my-form.html") 
     elif request.method=='POST': 
      firstname = request.form['firstname'] 
      lastname = request.form['lastname'] 
      cellphone = request.form['cellphone'] 
      return firstname, lastname, cellphone 

Wenn ich ändern die letzte Rückleitung:

return firstname 

es funktioniert, oder:

return lastname 

oder:

return cellphone 

Wenn ich zwei Variablen versuche, wird nur die fi zurückgegeben Erstens, sobald ich die 3. addiere, bekomme ich den Fehler 500. Ich bin mir sicher, dass ich etwas Dummes mache, aber selbst mit einer Menge Googeln konnte ich es nicht herausfinden. Jede Hilfe wäre großartig. Vielen Dank.

+0

Flask Ansichten können nicht ein Tupel zurück. Wahrscheinlich möchten Sie diese als Argumente an eine Vorlage übergeben. –

Antwort

2

Flask erfordert entweder str oder Response zurückgeben, in dem Fall versuchen Sie, eine tuple zurückzugeben.

können Sie entweder zurückgeben Ihre tuple als eine formatierte str

return '{} {} {}'.format(firstname, lastname, cellphone) 

Oder Sie die Werte in eine andere template passieren kann

return render_template('my_other_template.html', 
         firstname=firstname, 
         lastname=lastname, 
         cellphone=cellphone) 
+0

Danke, das macht Sinn. Sie können so viele Variablen wie nötig übergeben, nehme ich an? –

+0

@ChristopherNelson Das ist richtig, Sie können so viele Variablen eingeben, wie Sie möchten – Wondercricket

Verwandte Themen