python - Pyramid 中模板上下文的等价物(pylons 用户)

标签 python pylons pyramid

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/

相关文章:

python - 同时使用类函数和静态方法? (Python)

python - 带有自定义聚合函数的 pandas groupby() 并将结果放在新列中

python - PyCharm 没有为类插入文档字符串 stub ?

python - 如何在 Apache 下运行的应用程序中保持动态应用程序级统计信息?

Pylons + mod_wsgi -> ImportError : No module named paste. 部署

python - Pyramid 的 add_static_view 是如何工作的?

python - 在极坐标图中移动偏移文本位置

php - Mako 中使用 Pylons 的条件运算符

python - @reify 每次调用都执行数据库查询?

python - 在同一 View 方法中在渲染器之间切换的简单方法