Flask返回多个变量?

时间:2016-09-29 14:09:46

标签: python flask

我正在使用Python学习Flash。我的python技能还可以,但我没有使用网络应用程序的经验。我有一个表单,其中包含一些信息,我想在提交后将其显示回来。我可以做那个部分,但是我只能从表单中返回一个变量,即使表单中有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

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

1 个答案:

答案 0 :(得分:5)

Flask要求返回strResponse,在您尝试返回tuple的情况下。

您可以将tuple格式化为str

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

或者您可以将值传递到另一个template

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