Python 将django基类子类化为中间类是个坏主意吗?
我将ModelForm子类化为中间ModelForm2,以确保某些表单元素具有特定的css类/小部件,并删除标签后缀。 我的问题是: 这是一个坏主意吗?因为它会降低代码的可移植性,以防它们删除ModelForm类? 代码如下:Python 将django基类子类化为中间类是个坏主意吗?,python,django,django-forms,Python,Django,Django Forms,我将ModelForm子类化为中间ModelForm2,以确保某些表单元素具有特定的css类/小部件,并删除标签后缀。 我的问题是: 这是一个坏主意吗?因为它会降低代码的可移植性,以防它们删除ModelForm类? 代码如下: class ModelForm2(forms.ModelForm): def __init__(self, *args, **kwargs): kwargs.setdefault('label_suffix', '') super
class ModelForm2(forms.ModelForm):
def __init__(self, *args, **kwargs):
kwargs.setdefault('label_suffix', '')
super(ModelForm2, self).__init__(*args, **kwargs)
for field in self.fields:
if isinstance(self.fields[field], forms.DateField):
self.fields[field].format = '%d/%m/%Y'
self.fields[field].widget.attrs['class'] = 'date'
self.fields[field].widget.attrs['type'] = 'text'
我不是在寻求意见,只是一个可靠的“最佳实践”答案不,这不是一个坏主意,这是非常正常的“最佳实践”Django
ModelForm
是Django的核心部分,很难想象他们会放弃它
典型的Django项目将有许多来自Django基类的子类
在我的项目中,我经常会有一个应用程序,我称之为
core
,或者类似的东西,在那里我保留了一些类,比如BaseModel
,BaseForm
等等,在这些类中我定制了一些行为,我希望所有项目的子类都能继承这些行为。谢谢!这使我的立场更加坚定:)