flask定义接口路由和视图函数
- 路由
路由是将URL地址与应用程序中的函数相映射的过程。
- 动态路由
@app.route('/user/<username>')
- 动态路由+限定路由类型
路径中添加<类型:变量名>来限定变量的类型(:后不能带空格)
@app.route('/user/<string:username>')
- 限定路由类型:
1.string: 是个可缺省值,只接受不包含斜杠的任何文本
2.int: 只接受正整数
3.float: 只接受正浮点数
4.path: 类似string,但可以接受斜杠
5.uuid: 只接受UUID字符串
- 路由规则
Flask 的 URL 规则基于 Werkzeug 的路由模块。可以确保形成的 URL 是唯一的,并且基于 Apache 规定的先例。
这两个路由定义的例子看起来类似,其实是不一样的。
在第二个例子中,路由的尾部使用斜杠 (/)。因此,它成为一个规范的URL。这时 Flask 会自动进行重定向。当在浏览器的地址栏中不输入 / 时,会自动在尾部加上一个斜杠。也就是在浏览器的地址栏中输入 / 和不输入 /的效果是一样的。
而第一个例子中,路由的尾部没有 /。那么访问的时候,在浏览器的地址栏中不能输入 /,否则会产生 “Not Found” 的错误。这样可以保持 URL 唯一。
@app.route('/about')
def about():
return 'About Page'
@app.route('/hogwarts/')
def hello_hogwarts():
return 'Hello Hogwarts'
if __name__ == '__main__':
app.run()
- flask定义接口路由和视图函数
创建一个基本的web应用程序:
#导入flask模块
from flask import Flask
#通过实例化Flask类并传入__name__参数,创建一个Flask应用程序app实例,__name__是一个特殊变量,表示当前模块的名称。
app = Flask(__name__)
#定义路由和视图函数
#使用@app.route("/")装饰器定义路由,并指定URL路径
@app.route("/")
#定义视图函数:用于处理指定URL路径的请求,并将函数的返回结果作为浏览器访问指定URL路径后的显示结果
def hello():
return "Hello Flask"
- flask运行使用
#通过代码调用:通过app实例调用run()方法
if __name__ == "__main__":
#flask 服务启动
#轮询的等待方式,等待浏览器的请求
#直到ctrl+c停止
app.run()
#可通过访问:http://localhost:5000/ 在浏览器中查看结果。
通过windows命令运行,set FLASK_APP= 接的是一个.py文件名称
set FLASK_APP=hello
flask run