我試圖找到一種顯示多選字段的選定/初始值的文本的方式。Django:顯示模板中選定的多選字段的值
我的問題是類似這樣的,除了我不想值我想它對應的選項文本:
Display value of a django form field in a template?
例如,如果我有以下形式:
GENDER_CHOICES = (
('male', _('Men')),
('female', _('Women')),
)
genders = forms.MultipleChoiceField(choices=GENDER_CHOICES,
widget=widgets.CheckboxSelectMultiple(),
initial=[gender[0] for gender in GENDER_CHOICES])
然後在我的模板,我可以這樣做:
{{ form.genders.value }}
以獲得所選選項的數組(即, [u'male',u'female']。然而,不知何故,我想從鍵查找字符串值(即「男」,「女」),是這樣的:
{% for key in form.genders.value %}
{{ form.genders.choices.key }}
{% endfor %}
我無法找到使這項工作的一種方式。我怎樣才能實現這個使用Django 1.3?
PS - 這是一個簡短的例子,但我需要禁止使用多個更大的動態列表做if語句(即「如果key ==‘男’‘男人’......等」)
這很可能是這樣的:'{%關鍵在form.genders.value%} {{form.genders.get_key_display}} {%endfor%}'但我不確定。 – Mig 2012-04-03 13:33:12