zoukankan      html  css  js  c++  java
  • python复杂多继承及super配合使用案例

    class ContextMixin(object):
        def get_context_data(self, **kwargs):
            print('contextmixin')
    
    class FormMixin(ContextMixin):
        def get_context_data(self, **kwargs):
            print('formmixin')
            super(FormMixin, self).get_context_data(**kwargs)
    
    class SingleObjectMixin(ContextMixin):
        def get_context_data(self, **kwargs):
            print('singleobjectmixin')
            super(SingleObjectMixin, self).get_context_data(**kwargs)
    
    class ModelFormMixin(FormMixin, SingleObjectMixin):
        pass
    
    class View():
        pass
    
    class ProcessFormView(View):
        def get(self):
            self.get_context_data()
    
    class BaseUpdateView(ModelFormMixin, ProcessFormView):
        pass
    
    
    bv = BaseUpdateView().get()
    mro = BaseUpdateView.__mro__
    for m in mro:
        print(m)

    输出结果:

    formmixin
    singleobjectmixin
    contextmixin
    <class '__main__.BaseUpdateView'>
    <class '__main__.ModelFormMixin'>
    <class '__main__.FormMixin'>
    <class '__main__.SingleObjectMixin'>
    <class '__main__.ContextMixin'>
    <class '__main__.ProcessFormView'>
    <class '__main__.View'>
    <class 'object'>
  • 相关阅读:
    送股分红是怎么回事?
    基金申购费用计算
    msn 爬楼梯
    沪市证券交易费用
    OS X
    见到郎咸平:)
    Long long time_Blog更新了
    生~气:)
    突然想起去年的今天
    久久沉思以后
  • 原文地址:https://www.cnblogs.com/Fmaj7/p/13731612.html
Copyright © 2011-2022 走看看