7-1 drf的token登录和原理
看到这个登录页了
是因为配置了
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
可以看到:
接下来:
进入:
D:\Envs\MxShop\Lib\site-packages\django\contrib\auth\views.py
@method_decorator(csrf_protect)
看页面:
<input type="hidden" name="csrfmiddlewaretoken" value="KrAfGxZPUu8fs038EFUgxglQ5A5wbu4JTuL2fGC6PgPnQfSXKhGPM0kG0at04YWO">
--------------------
老师说:下面是干货
https://www.django-rest-framework.org/api-guide/authentication/
是django自带的
下面的是 rest framework 的
先把配置信息拷贝过来
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.BasicAuthentication',
'rest_framework.authentication.SessionAuthentication',
)
}
放到
第二步:
TokenAuthentication 的配置
'rest_framework.authtoken'
配置到
下面生成表结构:
1. makemigrations
2.migrate
执行之前:
新生成的表:
authtoken_token
打开表:
实际上一个用户有一个token
之前没有配置,所以创建第一个账户的时候,没有这回事。
下面新创建一个账户:
表里还是没有
下面配置一下
下面测试一下这个接口:
关于HttpRequester插件的问题
我用的是:
首先设置:
得到:
现在看下数据库
有token了
拿到 token 之后
打个断点:
没有得到用户
添加
'rest_framework.authentication.TokenAuthentication',
这次获取到了
老师讲了好多话,之后说去他博客看看