在基于通用 class 的视图中将小部件从 select 更改为复选框
Change widget from select to check box in generic class based view
有没有快速简便的方法来更改表单上的默认小部件
例如,我想将国家/地区的 select 框更改为复选框。
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']
您可以在那里定义自定义表单并自定义小部件:
class PublisherForm(forms.ModelForm):
class Meta
model = Publisher
fields = ['name', 'address', 'city', 'state_province', 'country', 'website']
widgets = {
'country': forms.RadioSelect,
}
我在这里使用过收音机 select。使用复选框实际上没有任何意义,因为您只想 selected.
选择一个
然后在视图中使用表单:
class PublisherCreate(CreateView):
model = Server
form_class = PublisherForm
有没有快速简便的方法来更改表单上的默认小部件
例如,我想将国家/地区的 select 框更改为复选框。
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']
您可以在那里定义自定义表单并自定义小部件:
class PublisherForm(forms.ModelForm):
class Meta
model = Publisher
fields = ['name', 'address', 'city', 'state_province', 'country', 'website']
widgets = {
'country': forms.RadioSelect,
}
我在这里使用过收音机 select。使用复选框实际上没有任何意义,因为您只想 selected.
选择一个然后在视图中使用表单:
class PublisherCreate(CreateView):
model = Server
form_class = PublisherForm