(self, view_class, option_class=None, **opts)
return self._admin_view_cache[new_class_name]
最核心的方法，用于创建 AdminViewClass。

        创建 AdminView 和核心思想为动态生成 mix 的类，主要步骤有两步:

            1. 使用已经注册的 OptionClass (见 :meth:`~register`) 以及参数传入的 option_class 与 view_class 动态生成类
            2. 根据 view_class 及其继承类找到相应的 plugins， 作为生成的 AdminViewClass 的 plugins 属性
最核心的方法，用于创建 AdminViewClass。
最核心的方法，用于创建 AdminViewClass。
def get_view_class(self, view_class, option_class=None, **opts):
        """
        最核心的方法，用于创建 AdminViewClass。

        创建 AdminView 和核心思想为动态生成 mix 的类，主要步骤有两步:

            1. 使用已经注册的 OptionClass (见 :meth:`~register`) 以及参数传入的 option_class 与 view_class 动态生成类
            2. 根据 view_class 及其继承类找到相应的 plugins， 作为生成的 AdminViewClass 的 plugins 属性

        """
        merges = [option_class] if option_class else []
        for klass in view_class.mro():
            # 找到该 view_class 所有基类在 AdminSite 注册的 OptionClass
            reg_class = self._registry_avs.get(klass)
            if reg_class:
                merges.append(reg_class)
#            settings_class = self._get_settings_class(klass)
#            if settings_class:
#                merges.append(settings_class)
            merges.append(klass)

        new_class_name = '__'.join([c.__name__ for c in merges])

        if new_class_name not in self._admin_view_cache:
            # 如果缓存中没有该类，则创建这个类。首先取得该 view_class 的 plugins
            plugins = self.get_plugins(view_class, option_class)
            # 合成新类，同时把 plugins 及 admin_site 作为类属性传入
            self._admin_view_cache[new_class_name] = MergeAdminMetaclass(new_class_name, tuple(merges),  dict({'plugin_classes': plugins, 'admin_site': self}, **opts))

        return self._admin_view_cache[new_class_name]
def get_view_class ( self , view_class , option_class = None , * * opts ) : merges = [ option_class ] if option_class else [ ] for klass in view_class . mro ( ) : # 找到该 view_class 所有基类在 AdminSite 注册的 OptionClass reg_class = self . _registry_avs . get ( klass ) if reg_class : merges . append ( reg_class ) #            settings_class = self._get_settings_class(klass) #            if settings_class: #                merges.append(settings_class) merges . append ( klass ) new_class_name = '__' . join ( [ c . __name__ for c in merges ] ) if new_class_name not in self . _admin_view_cache : # 如果缓存中没有该类，则创建这个类。首先取得该 view_class 的 plugins plugins = self . get_plugins ( view_class , option_class ) # 合成新类，同时把 plugins 及 admin_site 作为类属性传入 self . _admin_view_cache [ new_class_name ] = MergeAdminMetaclass ( new_class_name , tuple ( merges ) , dict ( { 'plugin_classes' : plugins , 'admin_site' : self } , * * opts ) ) return self . _admin_view_cache [ new_class_name ]