Pyramid 中模板上下文的等价物是什么?

Pyramid 中的 IBeforeRender 事件与此有关吗?我已经阅读了官方文档,但很难理解 IBeforeRender 事件到底是什么。

最佳答案

Pyramid 已经在它的 Request 对象上提供了一个 tmpl_context,所以很简单,你只需要订阅一个 BeforeRender 事件来将它添加到渲染器全局变量中:

def add_renderer_globals(event):
    event['c'] = request.tmpl_context
    event['tmpl_context'] = request.tmpl_context

config.add_subscriber(add_renderer_globals, 'pyramid.events.BeforeRender')

从现在开始,当您收到请求时,您可以在代码中设置参数:
request.tmpl_context.name = 'Bob'

随后您的模板可能会引用 name 变量:
${ c.name }

关于python - Pyramid 中的模板上下文等价物(pylons 用户),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5523546/

10-13 07:46