2016-09-29 195 views
2

我正在用Python学习Flash。我的蟒蛇技能没问题,但我没有使用网络应用程序的经验。我有一个表单需要一些信息,我想在提交后显示。我可以做那个部分,但是我只能从这个表单返回一个变量,即使这个表单中有3个变量。我可以单独返回每一个,但不是全部。如果我尝试所有3,我会得到500错误。这里是我一起工作的代码:烧瓶返回多个变量?

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 

如果我最后一次回行更改为:

return firstname 

它的工作原理,或:

return lastname 

或:

return cellphone 

如果我尝试两个变量,它只会返回fi首先,一旦我添加第三个,我得到500错误。我确信我在做一些愚蠢的事情,但即使有大量的谷歌搜索,我也无法弄清楚。任何帮助都会很棒。谢谢。

+0

瓶意见不能返回一个元组。您可能希望将这些参数作为参数传递给模板。 –

回答

2

烧瓶需要一个strResponse才能返回,在这种情况下,您试图返回tuple

你可以返回你的tuple成格式str

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

或者,您可以通过值到另一个template

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

谢谢,这是有道理的。我可以根据需要传递尽可能多的变量吗? –

+0

@ChristopherNelson这是正确的,你可以传入尽可能多的变量,只要你喜欢 – Wondercricket