settings插拔式源码
Posted huangxuanya
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了settings插拔式源码相关的知识,希望对你有一定的参考价值。
创建一个文件夹notify
__init__.py
import settings import importlib def send_all(content): for path_str in settings.NOTIFY_LIST: # 1.拿出一个个的字符串 ‘notify.email.Email‘ module_path,class_name = path_str.rsplit(‘.‘,maxsplit=1) # 2.从右边开始 按照点切一个 [‘notify.email‘,‘Email‘] module = importlib.import_module(module_path) # from notity import msg,email,wechat cls = getattr(module,class_name) # 利用反射 一切皆对象的思想 从文件中获取属性或者方法 cls = 一个个的类名 obj = cls() # 类实例化生成对象 obj.send(content) # 对象调方法
email.py
class Email(object): def __init__(self): pass # 发送邮件需要的代码配置 def send(self,content): print(‘邮件通知:%s‘%content)
msg.py
class Msg(object): def __init__(self): pass # 发送短信需要的代码配置 def send(self,content): print(‘短信通知:%s‘ % content)
qq.py
class QQ(object): def __init__(self): pass # 发送qq需要的代码准备 def send(self,content): print(‘qq通知:%s‘%content)
wechat.py
class WeChat(object): def __init__(self): pass # 发送微信需要的代码配置 def send(self,content): print(‘微信通知:%s‘%content)
settings.py
NOTIFY_LIST = [ ‘notify.email.Email‘, ‘notify.msg.Msg‘, # ‘notify.wechat.WeChat‘, ‘notify.qq.QQ‘, ]
start.py
import notify notify.send_all(‘国庆放假了 记住放八天哦‘)
以上是关于settings插拔式源码的主要内容,如果未能解决你的问题,请参考以下文章
django 之csrfauth模块及settings源码插拔式设计
☆Django☆---中间件 csrf跨站请求伪造 auth模块 settings功能插拔式源码
Python Django 生命周期 中间键 csrf跨站请求伪造 auth认证模块 settings功能插拔式源码
ModelSerializer(重点) 基表 测试脚本 多表关系建外键 正反查 级联 插拔式连表 序列化反序列化整合 增删查 封装response