Estoy tratando de encontrar una forma de mostrar el texto del valor seleccionado/inicial de un campo de opción múltiple.Django: Muestra los valores del campo de selección múltiple seleccionado en una plantilla
Mi pregunta es similar a éste, excepto que no quiero el valorQuiero el texto de la opción que corresponde a:
Display value of a django form field in a template?
Por ejemplo, si tuviera un formulario con la siguiente :
GENDER_CHOICES = (
('male', _('Men')),
('female', _('Women')),
)
genders = forms.MultipleChoiceField(choices=GENDER_CHOICES,
widget=widgets.CheckboxSelectMultiple(),
initial=[gender[0] for gender in GENDER_CHOICES])
entonces en mi plantilla que puede hacer:
{{ form.genders.value }}
para obtener una matriz de opciones seleccionadas (es decir [u'male ', u'female']. Sin embargo, de alguna manera quiero para buscar el valor de la cadena de la clave (es decir, "Mujeres" "Hombres"), algo así como:
{% for key in form.genders.value %}
{{ form.genders.choices.key }}
{% endfor %}
no puedo encontrar una manera de hacer este trabajo. ¿Cómo puedo lograr esto usando Django 1.3?
ps - Este es un ejemplo corto, pero tengo que hacerlo con grandes listas dinámicas que prohíben el uso de múltiples sentencias if (es decir, "si == clave 'masculina' 'hombres' ... etc")
Probablemente esto podría ser algo como: '{% para la clave en form.genders.value%} {{ form.genders.get_key_display}} {% endfor%} 'Pero tampoco estoy seguro. – Mig