2016-09-29 134 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