Django在动态循环前面形成默认选择值

时间:2014-12-28 21:20:25

标签: python django forms

尝试在动态选择循环前添加默认选项('', 'Select Type')

form.py

card_choices = [(c.id, c.name) for c in Payment.objects.filter(id=id)]
payment = forms.ChoiceField(required=True, label='Type', choices=card_choices)

template.html

{{ form.payment }}

会生成这个:

<option value="1" selected="selected">VISA</option>
<option value="2">Amex</option>
<option value="3">Mastercard</option>
<option value="4">Discover</option>

寻找:

<option value="" selected="selected">Select Type</option>
<option value="1">VISA</option>
<option value="2">Amex</option>
<option value="3">Mastercard</option>
<option value="4">Discover</option>

1 个答案:

答案 0 :(得分:1)

您可以将此值放在选择元组中的第一位:

payment = forms.ChoiceField(required=True, label='Type',
                            choices=[(None, 'Select Type')]+card_choices)