我正在使用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个错误。我确信我正在做一些愚蠢的事情,但即使有大量的谷歌搜索我也无法理解。任何帮助都会很棒。谢谢。
答案 0 :(得分:5)
Flask要求返回str
或Response
,在您尝试返回tuple
的情况下。
您可以将tuple
格式化为str
return '{} {} {}'.format(firstname, lastname, cellphone)
或者您可以将值传递到另一个template
return render_template('my_other_template.html',
firstname=firstname,
lastname=lastname,
cellphone=cellphone)