2014-03-26 36 views
3

我是一個編程新手。如何將帶有Jinja2模板的下拉菜單中的變量傳遞到我的Python 2.7代碼中?我在Google App Engine上使用webapp2框架。從Jinja2傳入一個變量到Python下拉菜單

我的代碼目前看起來是這樣的:

class AccountNew(Handler): 
    def get(self): 
     activities = ['Select one', 'Camping', 'Hiking', 'Fishing'] 
     self.render('account-new.html', activities = activities) 

    def post(self): 
     acct_name = self.request.get('acct_name') 
     activity = self.request.get('activity') 
     self.write(acct_name) 
     self.write(activity) 

我Jinja2的模板被命名爲 「帳戶new.html」,看起來像這樣:

<form method="post"> 

    <label> 
    <div>Account Name</div> 
    <input type="text" name="acct_name" value="{{ acct_name }}"> 
    </label> 

    <label> 
    <div>Parent</div> 
    <select> 
     {% for activity in activities %} 
      <option value="{{ activity }}">{{ activity }}</option> 
     {% endfor %} 
    </select> 
    </label> 

    <input type="submit"> 

</form> 

acct_name字符串被傳遞迴,但活動字符串似乎以空字符串的形式返回。任何見解將不勝感激。

回答

9

您已將'name'屬性從select元素中刪除。應該是這樣的:

<select name="activity"> 
    {% for activity in activities %} 
     <option value="{{ activity }}">{{ activity }}</option> 
    {% endfor %} 
</select> 
+0

完美地工作。謝謝! – bholben

相關問題