我有一个模型:
from django.db import models
CHOICES = (
('s', 'Glorious spam'),
('e', 'Fabulous eggs'),
)
class MealOrder(models.Model):
meal = models.CharField(max_length=8, choices=CHOICES)
我有一张表格:
from django.forms import ModelForm
class MealOrderForm(ModelForm):
class Meta:
model = MealOrder
我想使用 formtools.view。默认模板打印选项的简短版本(‘ e’而不是‘ Fabulousegg’) ,因为它使用
{% for field in form %}
<tr>
<th>{{ field.label }}:</th>
<td>{{ field.data }}</td>
</tr>
{% endfor %}.
我想要一个一般的模板作为提到,但打印’神奇的鸡蛋’而不是。
[因为我怀疑真正的问题在哪里,所以我为我们所有人加粗: ]
我知道如何以一种本身就很丑陋的方式获得冗长的选择版本:
{{ form.meal.field.choices.1.1 }}
真正的痛苦是我需要得到所选择的选项,而我脑海中出现的唯一方法就是迭代所有的选项并检查 {% ifequals currentChoice.0 choiceField.data %}
,它甚至更难看。
它是否可以很容易地完成? 或者它需要一些模板标记编程? 这难道不应该在 django 中已经可用了吗?