【发布时间】:2012-04-29 15:57:07
【问题描述】:
Pyramid documentation 向我们展示了如何使用 i18n 内部视图(和 templates as well)。但是如何在我们无法访问当前request 的视图和模板之外使用它(例如,在forms 和models 中)?
@Michael 说将request 传递给模型和表单。但这样做对吗?我的意思是如果表单字段在__init__() 方法调用之前定义,模型也是如此。他们从视图中看不到任何参数...
在 Pylons 中,我们可以简单地使用 get_lang() 和 set_lang() 并在父控制器中定义首选语言,然后在我们想要的任何地方使用 ugettext() 和 ungettext() 而无需每次都直接从 request 调用它(在视图中)。
如何在 Pyramid 中做到这一点?请注意,必须从用户的设置(会话、cookie、数据库等)中设置语言。
【问题讨论】:
标签: python pyramid python-babel