内容简介:在程序中实现发邮件、短信、微信等功能,通过修改配置而不修改代码的方式根据实际情况定制发生消息的类型。创建flask主程序文件app.py,内容如下在app.py同级目录下创建settings.py配置文件,内容如下
在程序中实现发邮件、短信、微信等功能,通过修改配置而不修改代码的方式根据实际情况定制发生消息的类型。
创建flask主程序文件app.py,内容如下
from flask import Flask, request
from utils.message import send_msgs
app = Flask(__name__)
app.config['DEBUG'] = True
app.secret_key = "password"
@app.route('/')
def index():
#data = request.query_string.get(val)
data = 'xyy'
if data == 'xyy':
# 发送:短信/邮件
send_msgs('....')
return 'hellow world!'
if __name__ == '__main__':
app.run()
在app.py同级目录下创建settings.py配置文件,内容如下
MSG_LIST = [
"utils.message.email.Email",
"utils.message.msg.Msg"
]
创建utils/message 包,并在message包下创建__init__.py、email.py、msg.py、base.py
__init__.py内容如下
import importlib
import settings
# 通过读取配置文件来发送信息
def send_msgs(msg):
for path in settings.MSG_LIST:
m, c = path.rsplit('.', maxsplit=1)
md = importlib.import_module(m)
obj = getattr(md, c)()
obj.send(msg)
base.py内容如下,这个基类用于强制要求继承他的类必须实现send方法,因为__init__.py中的send_msgs方法是通过send方法来调用类方法的。
class Base(object):
def send(self):
raise NotImplementedError('.....')
email.py 内容如下
class Email(Base):
# 发生邮件
def __init__(self):
self.username = 'asdf'
self.pwd = 'asdf'
def send(self, msg):
print("send email")
msg.py内容如下
class Msg(Base):
# 发生短信
def __init__(self):
self.username = 'asdf'
self.pwd = 'asdf'
def send(self, msg):
print("send msg")
如果要增加一个发送微信消息的的方法,只需要再在message目录下创建一个wechat.py ,并在settings.py中增加一行记录即可
wechat.py内容如下
class Wechat():
# 发生短信
def __init__(self):
self.username = 'asdf'
self.pwd = 'asdf'
def send(self, msg):
print("send msg")
settings.py 做如下修改
MSG_LIST = [
"utils.message.email.Email",
"utils.message.msg.Msg",
"utils.message.wechat.Wechat"
]
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 垂直扩展PostgreSQL有关配置
- windows下安装MongoDB扩展和配置
- 如何写出一个利于扩展的vue路由配置
- Jenkins Pipeline 系列(一):如何配置扩展共享库
- PHP配置篇(一)--php开启redis扩展
- ApiBoot v2.2.7 发布,新增扩展 SpringBoot Mongo 详细配置组件
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C++程序设计语言
Bjarne Stroustrup / 裘宗燕 / 机械工业出版社 / 2010-3-1 / 99.00元
本书是在C++语言和程序设计领域具有深远影响、畅销不衰的著作,由C++语言的设计者编写,对C++语言进行了最全面、最权威的论述,覆盖标准C++以及由C++所支持的关键性编程技术和设计技术。本书英文原版一经面世,即引起业内人士的高度评价和热烈欢迎,先后被翻译成德、希、匈、西、荷、法、日、俄、中、韩等近20种语言,数以百万计的程序员从中获益,是无可取代的C++经典力作。 在本书英文原版面世10年......一起来看看 《C++程序设计语言》 这本书的介绍吧!