【问题标题】:Translate values dict-like in Django templates在 Django 模板中翻译值 dict-like
【发布时间】:2009-12-15 21:24:26
【问题描述】:

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

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”。

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

【问题讨论】:

    标签: django django-templates


    【解决方案1】:
    【解决方案2】:

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

    {{ object.get_lang_source_display }}
    

    应该可以。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 这只是一个错字,因为 SO funky-formats 特殊字符的方式。
      猜你喜欢
      • 2015-09-25
      • 2017-10-01
      • 1970-01-01
      • 2012-10-01
      • 2015-02-16
      • 2019-01-08
      • 2016-05-02
      • 2017-12-14
      • 1970-01-01
      相关资源
      最近更新 更多