在Django模板中翻译类似dict的值

时间:2009-12-15 21:24:27

标签: django django-templates

在我的模型中,我按照以下方式定义选择:

LANG_CHOICES = (
    ("Englisch", (
        (u"en-gb", u"England"),
        (u"en-us", u"United States of America"),
    ), )

该字段定义为:

lang_source = models.CharField(max_length=5, choices=LANG_CHOICES, default="en-gb")

当然,在我的模板中,我想要显示人类可读的值,即

{{ object.lang_source }}

不应打印“en-gb”(或相应的值),而应打印“England”。

实现这一目标最优雅的方法是什么? (除了在视图中从模型导入dict并手动翻译值。)

3 个答案:

答案 0 :(得分:6)

答案 1 :(得分:1)

http://www.djangoproject.com/documentation/models/choices/

{{ object.get_lang_source_display }}

应该有用。

答案 2 :(得分:0)

禁止在定义字段名时连续使用两个下划线,因为django过滤QuerySets的方式:http://docs.djangoproject.com/en/dev/topics/db/models/#field-name-restrictions