使用Django中的选项本地化CharFields和ModelForms

时间:2011-04-13 08:04:26

标签: django localization django-forms

我有一个Model和ModelForm,如:

from django.utils.translation import ugettext_lazy as _

class Item(models.Model):

    category = models.CharField(
        max_length=256,
        choices=(
            ('car', _("Cars")),
            ('computers', _("Computers")),
            ('furry animal', _("Furry or large animals")),
            ))


class ItemForm(ModelForm):
    class Meta:
        model = Item

我已正确编目,翻译和编译字符串,{% trans "Cars" %}按预期显示翻译文本。

现在,如果我将ItemFormItem的实例传递给模板,并将其用作{{ form }}{{ item.category }},我是否正确认为他们不会默认显示本地化选项?

将它们本地化的最简洁和最简单的方法是什么?

1 个答案:

答案 0 :(得分:2)

你自己试过吗?

我很确定他们进行本地化。至少{{ form }},而您希望使用{{ item.get_category_display }}来获取category字段的显示值(即“毛茸茸或大型动物”/“Pelzige oder grosse Tiere”(本地化)而不是“毛茸茸的动物”(内部字符串))。