gpt4 book ai didi

python - 为什么在 i18n blocktrans (django) 中,对象、字典或列表不起作用?

转载 作者:太空宇宙 更新时间:2023-11-03 11:08:54 24 4
gpt4 key购买 nike

我正在使用 django i18n 来支持 i18n。我发现在django blocktrans 一个对象中,dict 直接不起作用。

例如,如果我有一个名为 obj 的对象,我尝试像这样使用它

{% blocktrans %} My name is {{ obj.name }} {% endblocktrans %}

不会工作,但如果我像这样使用它

{% blocktrans with name=obj.name %} My name is {{ name }} {% endblocktrans %}

会起作用。

我只是想知道为什么第一个示例不起作用但第二个示例起作用。

最佳答案

Django 的 blocktrans 被传递给 ugettext,它将它们标记为 u"My name is %(name)s"形式的翻译字符串,在运行时将其作为映射与上下文一起处理,即`u"我的名字是 %(name)s"% 上下文。这不允许 Django 模板样式属性解析。

关于python - 为什么在 i18n blocktrans (django) 中,对象、字典或列表不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11338098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com