Flask框架简介与安装
Flask和Django都是Python的web开发框架,都拥有很多的拥趸。
Flask 和 Django 对比:
- Flask: 微框架,小巧灵活。一个脚本就可以启动一个web项目,需要哪些功能,自己装。需要熟悉MVC模式
- Django: 大而全,有一套完整的框架,但是耦合性高。Auth,Permission,admin基本没用,开发快,符合 MVC 模式
对于初学者来说,选择Flask无疑是更好的选择,下面我们就开始介绍Flask框架。
Flask中文文档地址
安装Flask
- 直接在terminal通过pip安装flask
pip install flask
- 通过pycahrm搜索安装,步骤如下图所示
当我们完成flask安装的同时,一批flask依赖的库也会同步安装,如下图所示,安装完成后的第三方库列表
我们介绍其中几个重要的库的作用
- Jinja2 用于渲染页面的模板语言
- Werkzeug 用于实现 WSGI ,应用和服务之间的标准 Python 接口
- MarkupSafe 与 Jinja2 共用,在渲染页面时用于避免不可信的输入,防止注入攻击
- itsdangerous 保证数据完整性的安全标志数据,用于保护 Flask 的 session cookie
- click 是一个命令行应用的框架。用于提供 flask 命令,并允许添加自定义 管理命令
第一个Flask脚本
和其他框架的学习类似,第一步先写一个最简单的输出‘hello, world!’的程序,将其命名为flask_demo1.py。
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
return "<p>Hello, World!</p>"
启动服务
可以使用 flask 命令或者 python 的 -m 开关来运行这个应 用。在运行应用之前,需要在终端里导出 FLASK_APP 环境变量,下面以windows系统为例:
set FLASK_APP=脚本名(不含.py)
flask run
如下图所示:
成功启动了服务,我们点击链接即可访问我们的服务,如下图所示:
除了命令行启动服务,我们还可以通过添加入口函数来启动服务,如下所示:
# -*- coding:utf-8 -*-
from flask import Flask
# 导入 Flask 类
app = Flask(__name__)
# 创建类的实例
@app.route("/")
# 使用 route() 装饰器来告诉 Flask 触发函数 的 URL
def hello_world():
return "<p>Hello, World!</p>"
if __name__ == '__main__':
app.run()
结果如下图所示:
点击链接,我们可以查看我们启动的服务是否正常