Bir modelim var:
from django.db import models
CHOICES = (
('s', 'Glorious spam'),
('e', 'Fabulous eggs'),
)
class MealOrder(models.Model):
meal = models.CharField(max_length=8, choices=CHOICES)
Bir formum var:
from django.forms import ModelForm
class MealOrderForm(ModelForm):
class Meta:
model = MealOrder
Ve formtools.preview kullanmak istiyorum. Varsayılan şablon, seçeneğin kısa versiyonunu ('Muhteşem yumurtalar' yerine 'e') yazdırır, çünkü kullanır
{% for field in form %}
<tr>
<th>{{ field.label }}:</th>
<td>{{ field.data }}</td>
</tr>
{% endfor %}.
Bahsedilen kadar genel bir şablon istiyorum, ancak bunun yerine 'Muhteşem yumurtalar' yazdırmak istiyorum.
[gerçek sorunun nerede olduğuna dair şüphelerim olduğu için, hepimiz için cesurca yazdım :)]
Bir seçimin ayrıntılı versiyonunu kendisi çirkin bir şekilde nasıl elde edeceğimi biliyorum:
{{ form.meal.field.choices.1.1 }}
Asıl acı, seçilen seçimi yapmam gerekiyor ve aklıma gelen tek yol, seçimler ve kontrol yoluyla yinelemek {% ifequals currentChoice.0 choiceField.data %}
ki bu daha da çirkin.
Kolayca yapılabilir mi? Ya da bazı şablon-etiket programlamasına mı ihtiyacı var? Bunun django'da zaten mevcut olması gerekmez mi?