2024-04-19 07:29:12 发布
网友
有没有瓶子.py相当于你在烧瓶里得到的上下文处理器?在
如果您使用的是带有SimpleTemplate的香草瓶,我偶然发现了一个解决方案。在
对于我的站点,我需要访问每个模板中的一些函数,app.get_url显然就是其中之一。这对我很有效:
app.get_url
# after app creation, but before the views SimpleTemplate.defaults["get_url"] = app.get_url SimpleTemplate.defaults["url"] = lambda: request.url SimpleTemplate.defaults["fullpath"] = lambda: request.fullpath SimpleTemplate.defaults["sorted"] = sorted
从0.9开始就可以了,我没有在框架的最新版本上进行测试。在
这个行为没有文档记录,但是marcelhellkamp在this thread中解释了它。其中还提到了其他解决方案:
_vars
另外,在bottle0.10中,在SimpleTemplate模板名称空间中引入了与该问题相关的新函数:^{}, ^{}, and ^{}
注意:此解决方案可用于其他模板引擎。技术完全相同,但是您使用BaseTemplate(它适用于所有模板类)或您要使用的引擎的类。在
使用来自Helgi的previous answer,我使用这个钩子来制作一个类似于的上下文处理器(bottle 0.12.x):
import bottle @bottle.hook('before_request') def _context_processor(): bottle.SimpleTemplate.defaults['foo'] = 'F00' bottle.SimpleTemplate.defaults['bar'] = 'B@R'
如果您使用的是带有SimpleTemplate的香草瓶,我偶然发现了一个解决方案。在
对于我的站点,我需要访问每个模板中的一些函数,
app.get_url
显然就是其中之一。这对我很有效:从0.9开始就可以了,我没有在框架的最新版本上进行测试。在
这个行为没有文档记录,但是marcelhellkamp在this thread中解释了它。其中还提到了其他解决方案:
_vars
中的全局参数或类似的模板参数。在另外,在bottle0.10中,在SimpleTemplate模板名称空间中引入了与该问题相关的新函数:^{}, ^{}, and ^{}
注意:此解决方案可用于其他模板引擎。技术完全相同,但是您使用BaseTemplate(它适用于所有模板类)或您要使用的引擎的类。在
使用来自Helgi的previous answer,我使用这个钩子来制作一个类似于的上下文处理器(bottle 0.12.x):
相关问题 更多 >
编程相关推荐