瓶多个模板变量

时间:2012-07-31 16:37:27

标签: python python-2.7 bottle

有没有办法通过瓶子给模板多个变量?我知道您可以使用template('mytemplate.tpl',var=var)等,但是,如何使用多个变量?

3 个答案:

答案 0 :(得分: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)

答案 1 :(得分:0)

values = {'name':name, 'gender':gender, 'age':age, 'address':address} 
template('mytemplate', var = values)

在您的模板中,您可以访问变量var.namevar.gendervar.agevar.address

答案 2 :(得分: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语句变得更加容易(虽然有些人认为多次返回语句不好),我发现更改模板文件要容易得多,因为我不需要每次都找到它。 / p>

或者如果您更喜欢a = b,b = c等方法

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