是否有一种快速简便的方法来更改表单上的默认小部件
例如,我想将国家/地区的选择框更改为复选框。
model.py
class Publisher(models.Model):
countryChoices = (('CA','Canada'),('US','United States'),('MX','Mexico'))
name = models.CharField(max_length=30)
address = models.CharField(max_length=50)
city = models.CharField(max_length=60)
state_province = models.CharField(max_length=30)
country = models.CharField(choices = countryChoices, max_length=30)
website = models.URLField()
视图
class PublisherCreate(CreateView):
model = Publisher
fields = ['name', 'address', 'city', 'state_province', 'country', 'website']
答案 0 :(得分:1)
您可以定义自定义表单并在那里自定义小部件:
class PublisherForm(forms.ModelForm):
class Meta
model = Publisher
fields = ['name', 'address', 'city', 'state_province', 'country', 'website']
widgets = {
'country': forms.RadioSelect,
}
我在这里使用了无线电选择。使用复选框并没有多大意义,因为您只想选择一个选项。
然后使用视图中的表单:
class PublisherCreate(CreateView):
model = Server
form_class = PublisherForm