2016-09-29 27 views
2

私はPythonでFlashを学んでいます。私のpythonのスキルは大丈夫ですが、私はWebアプリケーションに関する経験はありません。私はいくつかの情報を取るフォームを持っていて、それが提出された後にそれを表示したいと思います。私はその部分を行うことができますが、フォームに3つの変数があっても、そのフォームから変数を1つだけ返すことができます。私は個々に返すことができますが、すべて一緒に返すことはできません。私は3つすべてを試してみると、私は500エラーが発生します。ここで私が働いているコードは次のとおりです。Flaskは複数の変数を返しますか?

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 

2つの変数を試してみると、fiだけが返されます最初に、3回目を追加すると500エラーが出ます。私は何かばかげていると確信していますが、グーグル・グーグルでもわかりません。どんな助けも素晴らしいだろう。ありがとうございました。

+0

フラスコビューに値を渡すことができます。おそらくそれらを引数としてテンプレートに渡したいと思うでしょう。 –

答えて

2

フラスコではstrまたはResponseのいずれかを返す必要があります。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

関連する問題