Django-Vorlagen: Ausführliche Version einer Auswahl

Ich habe ein Modell:

from django.db import models

CHOICES = (
    ('s', 'Glorious spam'),
    ('e', 'Fabulous eggs'),
)

class MealOrder(models.Model):
    meal = models.CharField(max_length=8, choices=CHOICES)

Ich habe ein Formular:

from django.forms import ModelForm

class MealOrderForm(ModelForm):
    class Meta:
        model = MealOrder

Und ich möchte formtools.preview verwenden. Die Standardvorlage gibt die Kurzversion der Auswahl aus ('e' anstelle von 'Fabulous eggs'), da sie verwendet wird

{% for field in form %}
<tr>
<th>{{ field.label }}:</th>
<td>{{ field.data }}</td>
</tr>
{% endfor %}.

Ich hätte gerne eine Vorlage, die so allgemein ist wie die oben genannte, aber stattdessen würde ich "Fabulous eggs" drucken.

[Da ich Zweifel hatte, wo die eigentliche Frage ist, habe ich sie für uns alle gewagt :)]

Ich weiß, wie man die ausführliche Version einer Wahl auf eine Weise erhält, die selbst hässlich ist:

{{ form.meal.field.choices.1.1 }}

Der wahre Schmerz ist, dass ich die ausgewählte Wahl treffen muss, und die einzige Möglichkeit, die mir in den Sinn kommt, besteht darin, durch Auswahl und Überprüfung zu iterieren{% ifequals currentChoice.0 choiceField.data %}, was noch hässlicher ist.

Kann es leicht gemacht werden? Oder braucht es eine Template-Tag-Programmierung? Sollte das nicht schon in Django verfügbar sein?

Antworten auf die Frage(7)

Ihre Antwort auf die Frage