请求和响应
目前 用的djanjo里面的request、也是djanjo里面的response、状态码也是
DRF里面的request是基于djanjo里面的request封装
如果用装饰器@api_view(['GET','POST'])
如果是类视图 就用APIView
类视图
简化代码量
如果是通用类视图的ListCreateAPIView和RetrieveUpdateDestroyAPIView
然后我们只要提供序列化类和元数据及可以了
认证
DRF默认认证是SessionAuthentication、 BasicAuthentication
目前采用BasicAuthentication、通过浏览器传递账号密码,base64加密,认证成功后,返回一个元组
元祖的第一个用户对象,默认值为request
我们重新perform_create就可以从request拿到user
在序列化里面取到当前用户
HiddenField serializers.CurrentUserDefault
权限
不认证也能修改成功----->通过permissions.IsAuthenticatedOrReadOnly 可以解决
1、has_object_permission对数据有没有更新和删除的权限
has_permission对数据获取的方法
2、不认证也能修改成功----->通过permissions.IsAuthenticatedOrReadOnly 可以解决
其他人认证成功(要判断这条数据的判断者和我是不是一个人,是一个修改成功,不是修改不成功)
其他人认证成功----->可以用自定义权限IsOwnOrReadOnly重写它的has_object_permission
BasicAuthentication认证方法
DRF默认认证是SessionAuthentication、 BasicAuthentication
支持对个认证,取认证成功的那个认证方法