Django(63)drf权限源码分析与自定义权限

体根据权限规则 确定 有无权限进行全局或局部配置(一般采用局部配置) 权限规则满足设置的用户条件,代表有权限,返回True不满足设置的用户条件,代表有权限,返回False自定义权限from django.contrib.auth.models import Groupfrom rest_framework.permissions import BasePermission class MyPerm...

Django(62)自定义认证类

前言如果我们不用使用drf那套认证规则,我们想自定义认证类,那么我们首先要知道,drf本身是如何定义认证规则的,也就是要查看它的源码是如何写的 源码分析源码的入口在APIView.py文件下的dispatch方法下的self.initial方法中的self.perform_authentication(request),点击查看后如下 def perform_authentication(self, ...

Django(56)Mixins工具集的使用

前言mixins翻译成中文是混入,组件的意思。在DRF中,针对获取列表,检索,创建等操作,都有相应的mixin,一般我们自定义创建的类视图都会继承自GenericAPIView和Mixins一起使用 mixins工具集mixins.py文件中有5个类,分别是 CreateModelMixin:类中有个create方法,相当于单增ListModelMixin:类中有个list方法,相当于群查Retr...

Django模板层

with 标签csrf_token 标签五、自定义过滤器和标签自定义过滤器自定义标签六、模板继承模板继承之include标签模板继承之extends标签、block标签七、静态文件配置一、模板介绍Django的模板 = HTML代码 + 模板语法存放在templates目录下的HTML文件就称为模板文件,如果我们想要返回 的HTML文件中的数据是动态的,那么就必须在HTML文件中嵌入变量,这就会用到Dj...

Django(48)drf请求模块源码分析

前言APIView中的dispatch是整个请求生命过程的核心方法,包含了请求模块,权限验证,异常模块和响应模块,我们先来介绍请求模块 请求模块:request对象 源码入口APIView类中dispatch方法中的:request=self.iniialize_request(*args, **kwargs),源码如下:def initialize_request(self, request, *...

Django(47)drf请求生命周期分析

t(self, request, *args, **kwargs): return Response("drf post ok") 注意:这里的Response必须是drf下的Response,不能是Django原生的HttpResponse或者是JsonResponse,否则会出错接着,在urls.py中配置路由,如下urlpatterns = [ path('test/', views.TestVie...

Django(49)drf解析模块源码分析

前言上一篇分析了请求模块的源码,如下:def initialize_request(self, request, *args, **kwargs): """ Returns the initial request object. """ parser_context = self.get_parser_context(request) return Request( request, parsers=se...

Django(45)drf序列化类的使用(Serializer)

_name = "drf_app"urlpatterns = [ path('student/', views.student),] 4.在settings.py文件的MIDDLEWARE中注释掉django.middleware.csrf.CsrfViewMiddleware,并在INSTALLED_APPS中加入2个app'rest_framework','drf_app' 5.在命令行输入以下命...

Django(44)drf序列化源码分析

懂,但是我们使用的语言本身并不是json格式,像我们使用的Python如果直接返回给前端,前端用的javascript语言是识别不出的,所以我们需要把python语言转换为通用的json格式的数据,在django中就是将orm模型或者queryset对象转换成字典,再由字典转换成json,整个过程就是序列化。  当用户通过在form表单中填写的数据,发送请求给后端,将数据提交给后端数据库,这个过程就是反序列...

Django(46)drf序列化类的使用(ModelSerializer)

前言我们上篇文章使用到了Serializer类,可能有小伙伴说太过复杂,那么本篇就为大家带来更加简便的序列化类ModelSerializer ModelSerializer先来看下ModelSerializer的代码结构如下: 可以看到ModelSerializer是继承自Serializer,官方是这么介绍到的ModelSerializer只是一个常规的Serializer,只是做了以下事情 将自...
© 2021 LMLPHP 关于我们 联系我们 友情链接 耗时0.010881(s)
2021-06-20 11:30:15 1624159815