Django Views中的动态类mixin

时间:2016-02-06 08:28:45

标签: python django

我有一个基于类的视图,如果站点设置设置为true,我需要从另一个类继承。我已经在python动态继承上做了一些谷歌搜索,但还没有找到任何我能理解或看起来合适的东西。仅供参考:我的蟒蛇知识远远不够广泛,所以对于我所知道的一切来说,这可能是一个非常愚蠢的事情。

这是一些伪代码来概述我的意思:

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

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

2 个答案:

答案 0 :(得分:0)

class View1(View):
    pass

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

if settings.IMPLEMENTS_ACTIVITY:
  MyView = View1
else:
  MyView = View2

答案 1 :(得分:0)

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

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