根据字符串的形式,自动导入模块并使用反射找到模块中的类,并实例化对象,利用importlib和getattr实现的

例如:
    auth文件夹下一个SCRF.py文件,里面有一个Cors类
    
        class CORS(object):
            def process_request(self):
                print('666')
auth文件夹同目录下一个run.py文件


path = "auth.crsf.CORS"


import importlib

module_path,class_name = path.rsplit('.',maxsplit=1)

# 根据字符串的形式导入模块
m = importlib.import_module(module_path)

cls = getattr(m,class_name)

obj = cls()

obj.process_request()

django的中间件用过和django rest framework  setings中的配置版本等用过

posted @ 2018-12-06 15:46  CHVV  阅读(501)  评论(0编辑  收藏  举报