相关疑难解决方法(0)

mixin的顺序如何影响派生类?

说,我有以下mixin通过触摸相互重叠dispatch():

class FooMixin(object):
    def dispatch(self, *args, **kwargs):
        # perform check A
        ...
        return super(FooMixin, self).dispatch(*args, **kwargs)

class BarMixin(object):
    def dispatch(self, *args, **kwargs):
        # perform check B
        ...
        return super(FooMixin, self).dispatch(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

如果我希望我的视图通过订单,请检查A - >检查B,如果我的代码是MyView(FooMixin, BarMixin, View)或者MyView(BarMixin, FooMixin, View)

为什么我们总是View在mixins之后放入或者它的子类?(我从阅读django通用视图的源代码中注意到了这一点,但我不知道它背后的基本原理,如果有的话)

python django django-views method-resolution-order django-class-based-views

47
推荐指数
1
解决办法
1万
查看次数