Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将django基类子类化为中间类是个坏主意吗?_Python_Django_Django Forms - Fatal编程技术网

Python 将django基类子类化为中间类是个坏主意吗?

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

我将ModelForm子类化为中间ModelForm2,以确保某些表单元素具有特定的css类/小部件,并删除标签后缀。 我的问题是: 这是一个坏主意吗?因为它会降低代码的可移植性,以防它们删除ModelForm类? 代码如下:

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
等等,在这些类中我定制了一些行为,我希望所有项目的子类都能继承这些行为。

谢谢!这使我的立场更加坚定:)