使用 Python 从 0 开发属于你的个人管理系统 03 篇| 这,就是 Flask 的响应交互操作

现在,我们继续对 Flask 的常用使用方式进行了解。

当用户通过浏览器输入 URL 请求你的服务,你需要作出响应,比如上一篇中提到的数据渲染的返回,再具体点说,你可以在 Chrome 浏览器中打开开发者面板,然后点击「Network」,开始发送请求,这时候你可以看到这些响应的内容:

可以看到响应的状态吗,响应的类型等信息,你在点击相应的链接进去,你可以看到响应的具体信息:

当然,你在使用 Flask 开发服务的时候,并不需要关心到具体的每个响应参数,但是你可以对一些响应进行操作。

404 响应

当用户访问你的具体服务,但是不存在的时候会返回 404 的状态:

你可以通过 errorhandler 进行拦截,从而自定义自己的 404 响应:

@app.errorhandler(404)
def page_not_found(error):
    return '你查找的页面不存在', 404

那么这时候用户访问的所有 404 错误,都会直接调用这个方法。

其它响应的错误码或者异常你都可以通过 errorhandler 拦截并且自定义。

页面重定向

有时候你定义的请求 URL 可能不存在了,你想让他重定向到正确的页面去,那就可以使用 redirect 方法,比如,你想让用户访问 /fxxk 的时候,直接让它重定向到百度页面去,那么就可以这样:

本文隐藏内容 登陆 后才可以浏览
比如现在我们想要提供按摩会所的 API。

这篇先不讲数据库相关的,我们可以用 list 和 dict 来封装会所的名称、具体会所下的技师员工号码和价格的数据,比如有一家叫做 “超棒休闲会所”,里面有一位技师 808 号,按摩价格 666,就可以这样表示:

那么这个时候,我们要给前端提供获取所有会所数据的 API,返回 json 数据,我们就可以这样:

这里我们用到了 jsonify ,它可以将字典转化为 Json, 为了防止中文乱码,我们可以这样设置:

跑起来看看:

JSON 常用语我们的前后端数据交互,我们之后还会经常使用到。

session 会话

通过 Flask 的 session 对象可以存储到用户的一些特定信息,比如我们可以对已经登录的用户做一些数据标识或存储,避免用户每次访问服务都需要登录:

当用户登录成功时,可以使用 session 储存用户信息:

session['usernmae'] = request.form['usernmae']    

当用户访问页面的时候,可以通过 session 判断用户是否登录:

if 'uername' in session:      
    # 已经登录,直接访问

当用户退出的时候,可以在 session 中移除这个用户:

session.pop('usernmae')

OK, 以上就是小帅b今天给你带来的分享,前几篇我会先把这些 Flask 的基础操作给你说下,你可以多了解一下,后面你才能更加「得心应手」,我们下一篇见,peace!

发表回复