编程模板【Flask】
文件目录:

目录介绍
- app.py:启动文件
- settings.py:设置文件
- utils:外部引用包
- message:其中的一个消息包
下面我们来详细看下主要代码的实现:
1、app.py:这是一个常见的Flask文件,也是本格式模板的启动文件,其中引入了message包中的send_msg,send_msg()方法在message包中的__init__.py中作为统一管理message的py文件
from flask import Flask from utils.message import send_msg app = Flask(__name__) @app.route('/') def index(): ret = send_msg('发送内容') print(ret) return "ok" if __name__ == '__main__': app.run()
2、message包中的__init__.py:使用了字符串分割和类的反射来执行配置文件settings中的Model_list配置列表
import settings import importlib def send_msg(msg): for path in settings.Model_list: # 分割模块和函数名 m,c = path.rsplit('.',maxsplit=1) # 导入模块 md = importlib.import_module(m) # 实例化类 obj = getattr(md,c)() # 调用类方法 obj.send(msg) return "执行成功"
3、settings.py:配置文件
Model_list=[ "utils.message.email.Email", "utils.message.msg.Msg", "utils.message.wechat.WeChat", ]
4、email.py、msg.py、wechat.py:为message包中的应用,这三个模块类分别继承了base.py
 
from .base import Base class Email(object,Base): ''' 发送邮件 ''' def __init__(self): self.username ="username" self.pwd ="pwd" def send(self,send_msg): # 发送消息 print('发送邮件:',send_msg)
 
from .base import Base class Msg(object,Base): ''' 发送短信 ''' def __init__(self): self.username ="username" self.pwd ="pwd" def send(self,send_msg): # 发送消息 print('发送短信:',send_msg)
 
from .base import Base class WeChat(object,Base): ''' 发送微信 ''' def __init__(self): self.username ="username" self.pwd ="pwd" def send(self,send_msg): # 发送消息 print('发送微信:',send_msg)
5、base.py:为了保证所有的类都拥有方法send(),所以继承base,没有send则程序启动报异常
class Base(object): def send(self): raise NotADirectoryError('......')
 
                    
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号