笔记:flas请求处理
程序员文章站
2022-03-03 20:13:43
...
路由匹配
一般格式:
@app.route('goback/<int:year>')
Flask内置的URL变量转换器
转换器 | 说明 |
---|---|
string | 不包含斜线的字符串(默认值) |
int | 整型 |
float | 浮点数 |
path | 包含斜线的字符串。static路由的URL规则中的filename变量就使用了这个转换器 |
any | 匹配一些列给定值中的一个元素 |
uuid | UUID字符串 |
any的用法如下:
@app.route('/colors/<any(blue, white, red):color>')
def something():
pass
# 或写成
colors = ['blue', 'white', 'red']
@app.route('/colors/<any(%s):color>'%str(colors)[1:-1])
设置监听的HTTP方法,默认为GET
@app.route('goback/<int:year>', methods=['GET', 'POST'])
请求钩子
钩子 | 说明 |
---|---|
before_first_request | 注册一个函数,在处理第一个请求前运行 |
before_request | 注册一个函数,在处理每个请求前运行 |
after_request | 注册一个函数,如果没有未处理的异常抛出,会在每个请求结束后运行 |
teardown_request | 注册一个函数,即使有未处理的异常抛出,也会在每个请求结束后运行。如果发生异常,会传入异常对象作为参数到注册的函数中。 |
after_this_request | 在视图函数内注册一个函数,会在这个请求结束后运行 |
这些方法也都是装饰器,如:
@app.before_request
def do_something():
pass