路由
- 路由:在Flask程序中定义路由最简便的方式就是使用程序实例成功的装饰器,把装饰的函数注册为路由,例如:
@app.route('/ithome')
def index():
return "Hello World"
- 查看路由
命令行中输入:flask routes
Endpoint Methods Rule
-------- ------- -----------------------
index GET /itcast
static GET /static/<path:filename>
在程序中获取 :print(app.url_map)
在应用中的url_map属性中保存着整个Flask应用的路由映射信息,可以通过读取这个属性获取路由信息
Map([<Rule '/itcast' (GET, OPTIONS, HEAD) -> index>,
<Rule '/static/<filename>' (GET, OPTIONS, HEAD) -> static>])
如果想在程序中遍历路由信息,可像下面代码这样做:
for rule in app.url_map.iter_rules():
print('name={} path={}'.format(rule.endpoint, rule.rule))
Flask指定请求方式:
- 在Flask中,定义路由默认的请求方式为:
- GET、OPTIONS(flask自带)、HEAD(flask自带)
- 利用methods参数可以自己指定一个接口的请求方式
蓝图
在Flask中,使用蓝图Blueprint来分模块组织管理。
蓝图实际可以理解为是一个存储一组视图方法的容器对象,其具有如下特点:
- 一个应用可以具有多个Blueprint
- 可以将一个Blueprint注册到任何一个未使用的URL下比如 “/user”、“/goods”
- Blueprint可以单独具有自己的模板、静态文件或者其它的通用操作方法,它并不是必须要实现应用的视图和函数的
- 在一个应用初始化时,就应该要注册需要使用的Blueprint
- 但是一个Blueprint并不是一个完整的应用,它不能独立于应用运行,而必须要注册到某一个应用中。