Flask
- Flask 是一个轻量级的 Web 开发框架
- 依赖 jinja2 和 Werkzeug WSGI 服务的一个微型框架
- jinja2:路由模块
- Werkzeug WSGI:模板引擎
- 优点:
- 简单易用:Python Web 框架
- 微量轻量级:
- 高度可扩展
- 社区活跃
- Flask 相关文档:
- Flask 环境安装与配置教程
Flask 环境安装
- 安装命令:pip install flask
- 示例
from flask import Flask
# 创建 Flask 应用程序实例
app = Flask(__name__)
# 定义路由和视图函数
@app.router("/")
def hello():
return "Hello Flask!"
# 添加新的路由 /add
@app.router("/add")
def add():
s = 0
for i in rang(10):
s += i
return s
-
- 导入Flask模块
-
- 创建应用程序实例:通过实例化Flask类并传入__name__参数,创建了一个Flask应用程序的实例,__name__表示当前模块的名称
-
- 定义路由和视图函数:使用@approuter()装饰器来定义路由,指定URL路径和对应的视图函数,示例中是根目录
-
- 视图函数:是处理请求并返回响应的函数,示例中返回字符串"Hello Flask!",浏览器访问根路径时的响应
Flask 运行使用
- 代码调用:app.run()
- 命令行运行
- bash(mac/linux)
- cmd(windows)
- powershell(windows)
- 示例
# 运行应用程序
if __name__ == '__main__':
app.run()
- 也可以访问 http://localhost:5000/ 在浏览器中查看
- 服务启动起来后会一直轮询等待前端访问,一直到停止服务
- 先设定环境变量:FLASK_APP=文件名,来表示将要运行的应用是哪个
- 配置系统环境变量的命令行命令参考
# linux/mac 命令行运行
$ export FLASK_APP=hello
$ flask run
# windows 命令行运行
> set FLASK_APP=hello
> flask run
接口路由技术
动态路由
- 通过 app.router(“/user/”)添加动态路由
# 添加动态路由
@app.router("/userinfo/<username>")
def select_casel(username):
pass
限定类型
- 路径中添加 <类型:变量名>来限定变量的类型
-
@app.router(“/post/int:post_id”)
类型 |
说明 |
string |
)缺省值)接受任何不包含斜杠的文本 |
int |
接受正整数 |
float |
接受正浮点数 |
path |
类似string,但可以包含斜杠 |
uuid |
接受UUID字符串 |
地址尾部的"/"
- 路由的尾部带有"/“(浏览器的地址栏中输入和不输入”/"的效果一样)
- 路由的尾部没有"/“(输入的URL的结尾不能加”/",会报错)