文章目录
1. Flask介绍与环境搭建
1.1 Flask介绍
-
Flask诞生于2010年, 使用python语言开发,基于Werkzeug路由模块的轻量级Web开发框架。
-
Flask本身相当于一个内核, 其他很多的功能都要用到扩展(邮件:flask-mail, 用户认证:flask-login, 数据库:flask-sqlalchemy).
-
Flask的核心在于Werkzeug(路由模块), Jinja2模板引擎.
-
Flask是轻量级的框架, 不代表其功能不强大, 它拥有丰富的扩展, 依赖扩展来添加额外的功能。Flask是小而灵活的; 而Django是大而全的重量级框架。
1.2 虚拟环境搭建
虚拟环境优点
:
-
不同应用之间 开发环境独立,互不影响
-
某个环境升级不影响其他应用,也不会污染系统的python环境
-
可以防止包管理混乱和版本的冲突
安装虚拟环境包管理器
将所有的虚拟环境放入一个目录,统一管理。
# linux
pip3 install virtualenvwrapper
# windows
pip install virtualenvwrapper-win
# 查看所有命令
virtualenvwrapper --help
# 创建虚拟环境
mkvirtualenv envname
# 激活虚拟环境
workon envname
# 查看所有的虚拟环境
lsvirtualenv
# 移除虚拟环境
rmvirtualenv envname
# 退出虚拟环境
deactivate
# 导出依赖
pip freeze > requirements.txt
# 批量安装依赖
pip install -r requirements.txt
Flask框架的安装
# 在虚拟环境中安装
pip install flask
flask的核心是Werkzeug和Jinja2, 所以在安装Flask的同时, 会自动安装上面的两个依赖.
1.3 完美邂逅: Hello Flask
简单的案例
# 实现步骤:
# 1.导入Flask类
from flask import Flask
# 2.实例化Flask对象
app = Flask(__name__)
# 3.编写路由与视图
@app.route('/')
def index():
return 'Hello Flask'
# 4.启动服务
if __name__ == '__main__':
app.run(host="localhost", port=5000, debug=True)
注意
-
实例化Flask对象:
app = Flask(name)
1).name 确定启动程序的位置
2).__name__可以传递除标准模块名外的任意字符串, 但不推荐
3).__name__如果传递标准模块名, 不影响路由的匹配, 但会影响静态文件的加载 -
以装饰器形式构建路由
2. Flask的配置
- 从 配置文件 加载
- 创建配置文件settings.py
- 加载配置文件
- 使用配置
# 配置mysql
MYSQL_HOST = '127.0.0.1'
MYSQL_PORT = 3306
# Flask代码
# import toml as toml
from flask import Flask
app = Flask(__name__)
# 加载配置文件
app.config.from_pyfile('settings.py')
# 路由与视图
@app.route('/', methods=["GET", "POST"]