控制jinja2/coffin中的i18n语言,而不需要每次传递一个请求

2024-06-17 13:35:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试用特定语言将模板呈现为字符串,但没有每次传递请求或RequestContext来呈现_-to-_字符串。我在用

coffin.shortcuts.render_to_string

所以我想要么在字典中包含一个变量,要么是一个假的上下文,除了语言本身之外,这个上下文将被忽略。在

我可以通过发送请求来让它工作,但这太过分了——这些都是异步进程,所以有时我甚至没有可用的请求。在

我看过django翻译,coffin,jinja2中的代码,它非常复杂。我也尝试过只发送语言或语言代码作为字典的一部分,但没有结果。在

如果将RequestContext类的源代码修改为仅包含csrf&i18n模块,coffin的render_to_字符串将遵循浏览器语言。在

我创建了一个FakeRequestContext类:

^{pr2}$

它似乎完全重现了RequestContext所做的工作,但实际上并不起作用,即使语言代码被设置为使用真正的RequestContext时浏览器中的语言代码。在


Tags: todjango字符串代码模板语言jinja2string