Flask基础:状态保持,异常处理与请求钩子

状态保持

# 创建cookie
@app.route('/set_cookie')
def set_cookie():
    resp = make_response('设置cookie')  # 创建响应对象
    resp.set_cookie('name', 'zhang', max_age=100)  # 设置cookie  # max_age=设置有效期

    return resp


# 查看cookie
@app.route('/get_cookie')
def get_cookie():
    name = request.cookies.get('name')
    return name


# 删除cookie
@app.route('/del_cookie')
def del_cookie():
    resp = make_response('删除cookie')
    resp.delete_cookie('name')
    return resp


# flask 采用讲session内容直接存在客户端的方式
# 将session 内容进行加密  加密方式不知道 flask自己加密解密 与我们无关
# 存到客户端的cookie里面 在cookie里面 设置一个名叫session的key,对应的内容就是session的内容

# 设置session session的添加/修改
@app.route('/set_session')
def set_session():
    session['name'] = '张三'

    return 'session设置成功'


# 获取session
@app.route('/get_session')
def get_session():
    name = session['name']
    return name


# 删除session
@app.route('/del_session')
def del_session():
    resp = make_response('删除session')
    resp.delete_cookie('session')
    return resp

 异常处理

# 抛出异常 请求状态码
@app.route('/goods/100')
def return404():
    abort(403)


# 捕获异常 返回自定义响应
@app.errorhandler(500)  # 捕获所有500异常
def error(err):  # err 必要参数
    return '页面出错了 11 '

请求钩子

@app.route('/show')
def show():
    print('视图执行了')
    return '视图执行了 11'


# 请求处理前执行,只执行一次
@app.before_first_request
def a1():
    print('a1执行了')


# 请求处理前执行,每次都请求都会执行
@app.before_request
def a2():
    print('a2执行了')


# 请求处理后执行,接收响应对象    全局处理
@app.after_request
def a3(resp):
    print('a3执行了')

    resp.headers['author'] = 'zhangsan'

    return resp


# 请求处理后执行, 接收错误信息
@app.teardown_request
def a4(err):
    print('a4执行了')
    print(err)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值