作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这样一个方法:
def index(self):
title = "test"
return render("index.html", title=title)
其中 render
是一个函数,它自动渲染给定的模板文件,其余变量作为它的上下文传入。在这种情况下,我将 title
作为上下文中的变量传递。这对我来说有点多余。有什么方法可以自动获取 index
方法中定义的所有变量,并将它们作为上下文的一部分传递给 Mako?
最佳答案
使用下面给出的技术:
def render(template, **vars):
# In practice this would render a template
print(vars)
def index():
title = 'A title'
subject = 'A subject'
render("index.html", **locals())
if __name__ == '__main__':
index()
当你运行上面的脚本时,它会打印
{'subject': 'A subject', 'title': 'A title'}
显示 vars
字典可以用作模板上下文,就好像您是这样调用的:
render("index.html", title='A title', subject='A subject')
如果您使用 locals()
,它将传递在 index()
函数主体中定义的局部变量以及传递给 index 的任何参数()
- 例如方法的 self
。
关于python - 有没有办法将当前作用域中的所有变量作为上下文传递给 Mako?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6013539/
我是一名优秀的程序员,十分优秀!