django中间件的编程思想
利用字符串来导入模块
importlib模块
importlib,importmodule('文件名+点的形式')
通过对字符串的分割 分别得到py模块 和类名的字符串
利用 getattr(模块,类名字符串)得到类
类实例化对象
对象再调用方法
就可以实现对整体的调用
settings start __init__文件 理清各个文件是分别干什么用
start 启动 文件导入 import notify即可
settings里仅需要配置字符串路径即可
__init__ 需要初始化 对settings里提供的数据进行处理 ,rsplit 方法很有新意注意以后的应用 ###rsplit('.',maxsplit=1)从右往左切 最多切一次
import settings
import importlib
def send_all(content):
for path_str in settings.NOTIFY_LIST:
module_path,class_name = path_str.rsplit('.',maxsplit=1)
#利用字符串导入模块
module = importlib.import_module(module_path)
cls = getattr(module,class_name)
obj = cls()
obj.send(content)
浙公网安备 33010602011771号