【Python web 开发】第七章 开发总结
第七章开发总结:整理一下我们的知识点:
1、首先是django rest framwork 的token 登录和原理
django rest framwork 为我们提供了三种 认证模式
重点是 TokenAuthentication 这个 可以根据api guide 上面一步步的来配置,要配置一个url ,请求生成token
但是这个有弊端,因为这里生成的token 是保存到数据库中,如果是分布式系统,每次都要同步token到另外一台服务器上,显然就很麻烦,第二个就是没有过期时间限制,这个很不安全
因此我们引入了 jwt (jason web token)模式生成token
2、jwt 生成token
这个是在gitbub 上面一个开源的第三方插件,要 pip install django rest framwork_jwt ,具体的gitbub 上面也有使用文档,一步步的来
3.一个延伸
django 从请求到响应都经历了什么:
这里我清楚了setting 里面middwire 的配置有什么意义了
setting中注册的middleware会将用户request的数据经过这些middlware中有process_request方法和process_response方法注册进入。
当用户的request进入view之前会将这些process_request通通调用一遍
4、有些接口请求是要登录的情况下才能请求的,比如我的订单,那么我们可以单独的对每个接口进行配置
如果要token才能请求的话,这样配置,以goods_list 接口举例
5、自定义用户认证函数
自定义用户认证函数要继承ModelBackend,并且要重写 authenticate 方法
用户既可以用手机号码登录,也可以用用户名登录