(五)flask扩展
纵观上面的内容,发现其实开发Flask小程序非常的简单嘛,但是简单归简单,这么简单的Flask程序用来练练手,玩一玩还是可以的,但是要用来开发实际的项目,恐怕不够吧?
不够?你是说功能太单一?譬如,要把数据存储起来怎么办?起码要用到数据库吧?要上传文件怎么办?要写复杂的页面怎么办?写表单怎么办?发邮件呢?......
flask扩展:发送邮件
链接:http://pythonhosted.org/Flask-Mail/
pip install Flask-Mail
#coding:utf-8
from flask import Flask
from flask_mail import Mail, Message
app = Flask(__name__)
#设置邮箱服务器的配置信息(也就是用于发邮件的服务器)
app.config["MAIL_USERNAME"] = "15915822634@139.com"
app.config["MAIL_SERVER"] = "smtp.mail.10086.cn"
app.config["MAIL_PASSWORD"] = "NetMan0223"
#初始化邮箱实例
mail = Mail(app)
@app.route("/",)
def index():
#邮件消息对象
msg = Message(
"hello", #标题
body="testing", #邮件内容
sender="15915822634@139.com", #发件人
recipients=["996298929@qq.com"] #收件人
)
#发送邮件
mail.send(msg)
return "send success!"
if __name__ == "__main__":
app.run(debug=True, host="0.0.0.0")
转载于:https://blog.51cto.com/freshair/1927411
(五)flask扩展相关推荐
- Flask扩展系列(八)–用户会话管理
安装和启用 遵循标准的Flask扩展安装和启用方式,先通过pip来安装扩展: $ pip install Flask-Login 接下来创建扩展对象实例: 1 2 3 4 5 from flask i ...
- Flask 扩展 Flask-Script
Flask想要扩展其他的功能需要使用到Flask-Script from flask.ext.script import Manager # 所有Flask扩展都实在flask.ext的命名空间下 m ...
- Flask扩展包安装出现错误:Could not find a version that satisfies the requirement ...
Flask扩展包安装出现错误 安装扩展包flask-bootstrap 出现错误,如下: 对pip进行更新 : python -m pip install --upgrade pip
- Flask扩展库 | Flask-WTF学习
Flask-WTF是Flask与WTForms的简单集成,是Flask的一个扩展库,实现的功能如下: 集成了WTForms: 使用CSRF token保护表单(防止CSRF): 全球CSRF保护: 支 ...
- Kotlin学习笔记(五) 扩展函数 扩展属性
2019独角兽企业重金招聘Python工程师标准>>> 扩展函数和属性可以定义在对应的类中和kotlin文件中; 1.扩展函数 1.扩展函数可以由对象直接调用,在扩展函数中,用thi ...
- 五、扩展Orchard(一) First Steps into Orchard
Looking at Orchard as... 介绍Orchard基本知识的最好方式是用户的角色访问时所看到的:Normal user(aka reader/visitor/guest),admin ...
- Python Flask Web 第九课 —— flask 扩展小结
注意,flask 的拓展在较老的版本中,使用的 namespace 为: from flask.ext.** import ** 而新版本的导入方法为: from flask_** import ** ...
- 软件测试实验五脚本扩展,软件测试实验五
1.内蒙古工业大学信息工程学院实 验 报 告课程名称: 软件测试 实验名称: "海信社区"性能测试 实验类型: 验证性 综合性设计性实验室名称: 软件实验室 班级: 软件12-2 ...
- C# 线程手册 第五章 扩展多线程应用程序 系列
[第1篇] 什么是线程池 到目前为止我们使用多线程应用程序的目的是尽可能多地使用计算机处理器资源.所以,看起来我们仅需要为每个独立的任务分配一个不同的线程,并让处理器确定在任何时间它总会处理其中的某一 ...
最新文章
- C#设置Cookies
- 启动celery后执行任务报错:django.core.exceptions.ImproperlyConfigured
- C++设计模式--适配器模式
- linux+free参数类型,linux的free命令
- 高品质UI设计模板PSD下载,设计师的最佳临摹素材
- Go语言标准库之fmt.Print
- GDataDate 的本地时间转换
- 【OpenCV学习笔记】【函数学习】十四(cvSeq的用法说明(功能很多,按照需求使用))
- 华为OpenStack开源团队人才招募中
- 狗猫分类数据集划分详解
- python下载百度文库文档
- Manacher算法(马拉车算法)
- python selenium 异常:selenium.common.exceptions.ElementClickInterceptedException
- Asio Basic Asio Anatomy
- 关于计算机体系结构-北桥和南桥
- 如何用Photoshop去制作一张质量高的banner(轮播图)?
- c++数字与字符串转换的方法
- 三、实战---爬取百度指定词条所对应的结果页面(一个简单的页面采集器)
- 【新知实验室】TRTC视频会议
- mixly编程怎样音乐_使用mixly和Arduino结合蜂鸣器播放音乐