我的模型表格有一个coices字段
class cekler(models.Model):
bankalar = (
('Ziraat Bankası', 'Ziraat Bankası'),
('YapıKredi Bankası', 'YapıKredi Bankası'),
('Vakıflar Bankası', 'Vakıflar Bankası'),
('Teb', 'TEB'),
)
banka=models.CharField(max_length=20, choices=bankalar, verbose_name="Banka Adı:")
还有我的表格;
class CekForm(forms.ModelForm):
class Meta:
model=cekler
fields=[
'banka',
]
我的观点是这样的
def cekEkle (request):
form = CekForm(request.POST or None)
if form.is_valid():
form.save()
context ={
'form':form,
}
return render(request,'cek/form.html',context)
如何在带有HTML / Select-Option标签的模板上使用此coices字段?
答案 0 :(得分:0)
问题是您没有将name
属性传递给选择字段。
<select id="inputState" name="banka" class="form-control">
{% for key, value in form.banka.field.choices %}
<option value="{{ key }}" >{{ value }}</option>
{% endfor %}
</select>
这应该可以解决您的问题。
此外,如果需要,还可以从后端将css类传递到所有字段。
class CekForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(CekForm, self).__init__(*args, **kwargs)
self.fields["banka"].widget.attrs['class'] = 'form-control'
class Meta:
model=cekler
fields=[
'banka',
]
然后,您只需在模板中使用{{form.banka}}
。