J'ai un modèle:
from django.db import models
CHOICES = (
('s', 'Glorious spam'),
('e', 'Fabulous eggs'),
)
class MealOrder(models.Model):
meal = models.CharField(max_length=8, choices=CHOICES)
J'ai un formulaire:
from django.forms import ModelForm
class MealOrderForm(ModelForm):
class Meta:
model = MealOrder
Et je veux utiliser formtools.l'aperçu. Le modèle par défaut imprime la version courte du choix ("e" au lieu de "Fabuleux œufs"), car il utilise
{% for field in form %}
<tr>
<th>{{ field.label }}:</th>
<td>{{ field.data }}</td>
</tr>
{% endfor %}.
Je voudrais un modèle plus général de la cité, mais l'impression de "Fabuleux oeufs" à la place.
[comme j'ai eu des doutes, où est la vraie question, j'ai mis en caractères gras pour nous tous :)]
Je sais comment obtenir la version détaillé d'un choix dans une manière qui est lui-même laid:
{{ form.meal.field.choices.1.1 }}
La vraie douleur est j'ai besoin pour obtenir le choix sélectionné, et la seule façon de venir à mon esprit, est une itération par le biais de choix et de vérification de l' {% ifequals currentChoice.0 choiceField.data %}
, ce qui est encore plus laide.
Peut-il être fait facilement? Ou elle a besoin de quelques modèles de la balise de la programmation? Ne pourrait-il pas être disponibles dans django déjà?