动态导入模块和反射

感情迁移 提交于 2020-04-08 03:53:05
######setting.py#####
MESSAGE_CLASSES = [
    'utils.message.email.Email',
    'utils.message.msg.Msg',
    'utils.message.wx.WeChat',
    'utils.message.dingding.DingDing',
]
#######init.py###########
from django.conf import settings
def send_message(to,name,subject,body):
    """
    短信、邮件、微信
    :param to: 接受者 
    :param name: 接受者姓名
    :param subject: 主题
    :param body: 内容
    :return: 
    """
    for cls_path in settings.MESSAGE_CLASSES:
        # cls_path是字符串
        module_path,class_name = cls_path.rsplit('.',maxsplit=1)
        m = importlib.import_module(module_path)
        obj = getattr(m,class_name)()
        obj.send(subject,body,to,name,)

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!