Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.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视图中的动态类mixin_Python_Django - Fatal编程技术网

Python Django视图中的动态类mixin

Python Django视图中的动态类mixin,python,django,Python,Django,我有一个基于类的视图,如果站点设置设置为true,我需要从另一个类继承该视图。我在谷歌上搜索了python动态继承,但没有找到任何我能理解或似乎合适的东西。仅供参考:我的python知识还远远不够广泛,所以就我所知,这可能是一件非常不符合python的事情 下面是一些伪代码来概括我的意思: Class MyView(View): If settings.IMPLEMENTS_ACTIVITY: Set MyView implements activity 我希望

我有一个基于类的视图,如果站点设置设置为true,我需要从另一个类继承该视图。我在谷歌上搜索了python动态继承,但没有找到任何我能理解或似乎合适的东西。仅供参考:我的python知识还远远不够广泛,所以就我所知,这可能是一件非常不符合python的事情

下面是一些伪代码来概括我的意思:

Class MyView(View):    
    If settings.IMPLEMENTS_ACTIVITY:
        Set MyView implements activity

我希望这有助于解释我的意思。也许有人能给我指出正确的方向

我宁愿调用另一个类方法,也不愿更改继承:

class View1(View):
    pass

class View2(View1):        
   def sepcific_view2_activity(self):
       pass  

if settings.IMPLEMENTS_ACTIVITY:
  MyView = View1
else:
  MyView = View2
Class MyView(View):    
    def get(request):
        If settings.IMPLEMENTS_ACTIVITY:
            return CoolView1().get(request)
        else:
            return CoolView2().get(request)


Class CoolView1(View):    
    def get(request):
        return 1


Class CoolView2(View):    
    def get(request):
        return 2

不确定您为什么需要那里的
类型。为什么不干脆
MyView=View1
等等?你说得对,太复杂了。可能使用View1并使用MyView=View1,如果设置键为,则MyView=type('View1',(),{'specific_method':func})。