一、认证
1.源码
'DEFAULT_AUTHENTICATION_CLASSES': [ 'rest_framework.authentication.SessionAuthentication', 'rest_framework.authentication.BasicAuthentication' ]
2.说明
BasicAuthentication:基本的用户密码认证
SessionAuthentication:session会话认证
SessionAuthentication和BasicAuthentication二者缺一不可,相辅相成,我们也可以在此基础上增加别的认证,如:token认证
在authentication.py模块中,除了上面这两种,还有其它的认证方式可供选择:
二、授权
1.源码
'DEFAULT_PERMISSION_CLASSES': [ 'rest_framework.permissions.AllowAny', ]
2.说明
源码中只提供了AllowAny的授权,它表示不限制任何权限,一般情况下,这种授权不会满足要求,我们可以看看permissions.py模块下提供的其它授权
AllowAny:任意权限
IsAuthenticated:允许登录后拥有权限
IsAdminUser:管理员权限
IsAuthenticatedOrReadOnly:未登录下只允许浏览
三、登录
1.创建超级管理员
命令行
python manage.py createsuperuser --username USERNAME --email EMAIL
2.添加路由
这里提供的是一种前后端不分离的登录,后面会舍弃掉
在全局下的urls.py中添加如下代码
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('api/', include('rest_framework.urls')) ]
我们可以去看看rest_framework下的urls.py
配置了之后就已经提供了登录和登出的接口