2012-07-31 95 views
0

有什麼辦法通過瓶子給模板多個變量嗎?我知道你可以使用template('mytemplate.tpl',var=var)等,但是,你如何使用多個變量?瓶多個模板變量

+0

我知道它已經有一段時間,但它可以幫助別人。 官方文檔:http://bottlepy.org/docs/dev/stpl.html – PhilipB 2016-07-26 09:28:44

回答

4

正如你可以在signature看到,人們可以通過使用keyword arguments通過任意數量的變量到模板:

template('mytemplate.tpl', name="Anne", address="4 Elm Street", 
          dob=datetime.datetime(1977,12,2,1,2,3)) 

或類似這樣的

d = { "name": "Anne", "address": "4 Elm Street", "dob": datetime.datetime(1977,12,2,1,2,3) } 
template('mytemplate.tpl', **d) 
0
values = {'name':name, 'gender':gender, 'age':age, 'address':address} 
template('mytemplate', var = values) 

在模板中,您訪問的變量爲var.namevar.gendervar.agevar.address

0

,我更喜歡的方法是這樣的:

@route('/') 
@view('mytemplate') #no .tpl 
def mypage(): 
    return {"name": "Anne", "address": "4 Elm Street", "dob": datetime.datetime(1977,12,2,1,2,3)} 

這使得處理多個return語句容易得多(雖然有些人認爲多return語句不好的做法),我覺得這是很容易更改模板文件,因爲我不需要每次都去找它。

或者,如果你喜歡A = B,B = C等方法

return dict(name="Anne", address="4 Elm Street", dob=datetime.datetime(1977,12,2,1,2,3))