一、cookie
1.1 cookie的添加
from flask import make_response,session
@app.route('/set_cookie')
def set_cookie():
resp=make_response('设置cookie')
resp.set_cookie('name','bing', max_age=10)
return resp
1.2 cookie的查看
@app.route('/get_cookie')
def get_cookie():
name=request.cookies.get('name')
return name
1.3 cookie的删除
@app.route('/del_cookie')
def del_cookie():
resp=make_response('删除cookie')
resp.delete_cookie('name')
return resp
二、session
2.1 session的添加
@app.route('/set_session')
def set_session():
session['name']='冰之龙'
return '设置session'
2.2 session的查看
@app.route('/get_session')
def get_session():
name=session['name']
return name
2.3 session的删除
@app.route('/del_session')
def del_session():
resp = make_response('删除session')
resp.delete_cookie('session')
return resp
三、钩子函数
flask的请求钩子类似于Django的中间件, flask的请求钩子分为四种:
- before_first_request: 请求处理前执行, 只执行一次
- before_request: 请求处理前执行, 每次请求处理前都会执行
- after_request: 请求处理后执行, 但其是在请求无异常的基础上执行的
- teardown_request: 请求处理后执行, 其无论请求是否存在异常都会执行
@app.before_first_request
def br_first():
print('1')
@app.before_request
def br():
print('2')
@app.after_request
def ar(resp):
print('3')
return resp
@app.teardown_request
def tr(err):
print('4')