Tôi đang cố gắng tìm cách hiển thị văn bản của giá trị đã chọn/ban đầu của trường đa lựa chọn.Django: Hiển thị giá trị của trường được chọn nhiều lựa chọn trong một mẫu
Câu hỏi của tôi cũng tương tự như cái này ngoại trừ tôi không muốn giá trị Tôi muốn văn bản tùy chọn tương ứng với nó:
Display value of a django form field in a template?
Ví dụ nếu tôi đã có một hình thức như sau :
GENDER_CHOICES = (
('male', _('Men')),
('female', _('Women')),
)
genders = forms.MultipleChoiceField(choices=GENDER_CHOICES,
widget=widgets.CheckboxSelectMultiple(),
initial=[gender[0] for gender in GENDER_CHOICES])
sau đó trong mẫu của tôi, tôi có thể làm:
{{ form.genders.value }}
để nhận một loạt các tùy chọn đã chọn (tức là [u'male ', u'female']. Tuy nhiên, tôi bằng cách nào đó muốn tra cứu giá trị chuỗi từ khóa (ví dụ: "Đàn ông", "Phụ nữ"), giống như:
{% for key in form.genders.value %}
{{ form.genders.choices.key }}
{% endfor %}
Tôi không thể tìm ra cách làm việc này. Làm thế nào tôi có thể đạt được điều này bằng cách sử dụng Django 1.3?
ps - Đây là một ví dụ ngắn, nhưng tôi cần phải làm điều đó với danh sách động lớn hơn mà cấm sử dụng nhiều câu lệnh if (ví dụ "nếu == chìa khóa 'nam' 'Men' ... vv")
này có lẽ có thể là một cái gì đó như: '{% cho khóa trong form.genders.value%} {{ form.genders.get_key_display}} {% endfor%} 'Nhưng tôi không chắc chắn. – Mig