2012-07-31 69 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))