2020-02-20

请求和响应

目前 用的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

支持对个认证,取认证成功的那个认证方法

你可能感兴趣的:(2020-02-20)