2021
10-17
10-17
DRF过滤排序分页异常处理的过程记录
目录一、过滤二、排序三、分页PageNumberPaginationLimitOffsetPaginationCursorPagination继承APIView使用方法四、异常处理源码分析如何处理五、封装Response对象总结一、过滤对于列表数据要通过字段来进行过滤,就需要添加django-filter模块使用方法:#1、注册,在app中注册settings.pyINSTALLED_APPS=['django_filters',]#2、settings.py配置REST_FRAMEWORK={'DEFAULT_FILTER_BACKENDS':('django_fi...
继续阅读 >
前言在Django的前后端分离项目中DRF(DjangoRestframeWork)框架无疑是首选,关于token验证一般使用的是JWT,但是JWT只支持到Django1.x的版本。官方推荐Django2.x之后的版本使用simpleJWT,官方文档。登录返回token和refreshuser模型类:我user模型类继承的是django.contrib.auth.models.AbstractUser,这样可以使用Django自带的认证。如果继承该类,我们就必须在settings中配置AUTH_USER_MODEL="users.UserProfile"fromdatet...
首先写一个简单的drf接口fromrest_framework.viewsimportAPIViewfromrest_framework.responseimportResponse#基于drf写接口,cbvclassDrfTest(APIView):defget(self,request,*args,**kwargs):print(type(request._request))print(type(request))print(request.POST)print(request.GET)response={'status':100,'errors':None}response['users']=user_listreturnResponse(response)d...
视图函数中加上认证功能,流程见下图importhashlibimporttimedefget_random(name):md=hashlib.md5()md.update(bytes(str(time.time()),encoding='utf-8'))md.update(bytes(name,encoding='utf-8'))returnmd.hexdigest()fromrest_framework.viewsimportAPIViewclassLogin(APIView):authentication_classes=[AuthLogin]defpost(self,request,*args,**kwargs):response={'status':100,'msg':Non...