我在模型中使用一个选择字段,当我使用{{object在模板中显示它时。get_FIELD_display}},它总是以相同的语言显示。即使它在Po文件中被翻译。
下面是我的代码的简化版本:
models.py
PRODUCT_WEIGHT_UNIT = (
('to', _('ton')),
('li', _('pound')),
('vg', _(u'vgs³')),
)
class ProduitVrac(models.Model):
title = models.CharField(_("Title"), max_length=50)
unit = models.CharField(max_length=2, choices=PRODUCT_WEIGHT_UNIT)
模板<ul>
{% for object in object_list %}
<li>
<h2>{{ object.title }}</h2>
{# The following will not be translated .. #}
{{ object.get_unit_display }}
</li>
{% endfor %}
</ul>
原来我使用的是gettext而不是ugettext_lazy..