Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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
Django,如何处理多个Form_Valid_Django_Inheritance_Django Class Based Views_Formview - Fatal编程技术网

Django,如何处理多个Form_Valid

Django,如何处理多个Form_Valid,django,inheritance,django-class-based-views,formview,Django,Inheritance,Django Class Based Views,Formview,我使用基于类的视图,例如,我需要从不同的视图继承两个form_valid Class A(FormView) def form_valid() Does some stuff return super().form_valid Class B(FormView) def form_valid() Does some more stuff return super().form_valid Class C(Class A, Class B): def form_valid() take

我使用基于类的视图,例如,我需要从不同的视图继承两个form_valid

Class A(FormView)

def form_valid()
Does some stuff
return super().form_valid


Class B(FormView)

def form_valid()
Does some more stuff
return super().form_valid

Class C(Class A, Class B):

def form_valid()
takes form A and B stuff and does some more stuff
return super().form_valid
我的C类只是从第一个form_valid继承而来,因为这是一个大型项目,我试图避免修改我继承的视图,以便能够在C类中完成表单内容


欢迎所有建议

这不是很好的做法。您可能需要进行大量重构。不要害怕。你不做某事的原因不应该仅仅是时间和精力,特别是如果它以牺牲代码质量为代价的话

有关多重继承的信息,请参见

我的解决方案是将A和B视图的is_有效方法从视图中拉出来,放入实用方法中。然后根据需要在类A、B和C的is_valids中调用这些