DRF
  • 2024-11-03Django Swagger文档库drf-spectacular
    在使用DRF的时候,通常的文档有:默认文档RestFrameWork、CoreAPI、Swagger,Swagger是最流行的API文档库,在绝大多数服务端开发中都有用到,之前我们使用了CoreAPI来生成文档,一方面是它不够流行,没办法和其他工具结合,另一方面可能是我不熟悉,所有有些接口并不能按照我们的要求来使用。因此我
  • 2024-10-31DRF
    1.DRF组件详细文档:见附件1.1Web应用模式在开发web应用中,有两种应用模式:1.前后端不分离【客户端看到的内容和所有页面效果都是由服务端提供出来的】2.前后端分离【把前端的界面效果(html,css,js分离到另一个服务端,Python服务端只需要返回数据即可)】前端形成一个独立的网站,服务
  • 2024-10-27DRF-Version组件源码分析
    1.版本管理组件源码分析注意点:不同的versioning_class区别:实例化后得到的对象versioning_scheme里面的方法不同(函数同名,但是处理逻辑不同)defdetermine_version:获取版本信息defreverse:反向生成url;QueryParameterVersioning:代表版本信息在查询参数中URLPathVersioni
  • 2024-10-27DRF-Permission组件源码分析及改编源码
    1.权限组件源码分析PS:下列源码为了方便理解都进行了简化,只保留了权限相关的代码由于视图函数中继承了APIView,因此permission_classes可在视图类中进行重写。注意点:执行权限校验前,已执行了认证流程。因此此时可通过self.user获取用户对象(认证通过的情况)2.实践:编写一
  • 2024-10-27DRF-Authention组件源码分析及扩展
    drf认证组件1、认证组件源码执行流程在该图中,我把与认证组件无关的代码都删除了,只留下了认证的代码,方便解析。每行注释的开头数字即代表了执行顺序注意事项:第5步中的self.authenticators获取流程:首先,明确self代表的是request对象。则self.authenticators相当于去request
  • 2024-10-24drf框架
    DRF框架1DRF入门1.1RESTfulREST与技术无关,它是一种软件架构风格,REST是RepresentationalStateTransfer的简称,中文翻译为“表征状态转移”REST从资源的角度类审视整个网络,它将分布在网络中某个节点的资源通过URL进行标识,客户端应用通过URL来获取资源的表征,获得这些表
  • 2024-10-08django rest_framework面经
    1、什么是drf组件drf的全称是DjangoRESTfulFramework;它是一个基于django开发的组件,本质是一个django的app;drf可以帮我们快速开发出一个遵循restful规范的程序。2、drf组件提供的功能1.免除csrf认证2.视图(三种:(1)APIView,(2)ListAPIview,(3)GenericViewSet)3.版本处理4
  • 2024-10-05CSRF 攻击
    CSRF(Cross-SiteRequestForgery)保护机制。CSRF攻击是指攻击者通过伪装成用户向应用发送恶意请求,而这些请求是用户在不知情的情况下发起的。例如,如果用户在一个银行网站上登录,然后访问了一个恶意网站,该恶意网站可能包含一个自动提交的表单,这个表单会向银行网站发送请求来转账
  • 2024-10-01DRF请求的生命周期:三年程序员的实战感悟
    前言:作为工作一个3年左右的码农,在各种框架的摸爬滚打中,我也接触了不少前端后端的技术栈,其中DjangoRESTFramework(DRF)算是我后端日常工作中的用得最多的框架。今天就简单聊聊DRF请求的生命周期。从请求的发起,到数据的处理,再到最终的响应返回,每一步都有着很多的细节和挑战,由于篇幅
  • 2024-10-01DRF实操——项目部署
    DRF实操——项目部署一、Mysql集群1.集群方式1)Replication集群2)PXC集群2.Docker安装PXC知识补充:具名数据卷创建docker容器django后端接口服务二、Nginx概述作用安装配置三、uWSGI1.概述2.项目的配置3.将本地项目及环境打包到服
  • 2024-08-011.drf入门
    【一】WEB应用模式1)前后端开发模式前后端混合模式图前后端分离模式图【二】API接口1)概念规定了前后台信息交互规则的url链接,也就是前后台信息交互的媒介2)四大特点url:url链接请求方式:get、post、put、patch、delete请求参数:json或xml格式的key-value类
  • 2024-07-25Django DRF安装设置 序列化器ModelSerializer 视图ModelViewSet 路由url 串讲
    在DjangoRESTFramework(DRF)中,重新编写API视图通常涉及几个步骤。以下是一个简单的示例,展示如何定义和注册视图集、序列化器和路由,以便你可以创建、读取、更新和删除(CRUD)数据。1.定义序列化器#serializers.pyfromrest_frameworkimportserializersfrom.models
  • 2024-07-241. DRF 分页器
    目录DjangoDRF分页器1.环境准备1.1编辑models.py1.2编译初始化脚本,为数据库添加数据2.使用分页器DjangoDRF分页器1.环境准备1.1编辑models.pyfromdjango.dbimportmodels#Createyourmodelshere.classUserInfo(models.Model):username=models.Char
  • 2024-07-17Django DRF @action 装饰器
    @action装饰器在DjangoRESTFramework(DRF)中非常有用,它可以帮助你在ViewSet中创建自定义的动作,而不仅仅是依赖标准的CRUD操作(Create,Read,Update,Delete)。以下是@action装饰器的一些常见用法:1.创建自定义集合动作detail=False表示这个动作是针对整个集合的。例如,你
  • 2024-07-152. DRF 解析器
    目录DjangoDRF解析器1.解析器作用2.使用解析器默认配置为视图类定义解析器修改全局配置DjangoDRF解析器1.解析器作用request请求先进到APIView的dispatch方法,如果有异常走到exception。Json请求www-form请求form-data请求可以看到不同类型的请求,request.data
  • 2024-07-151. DRF 异常处理
    目录DjangoDRF异常处理1.DRF对异常(Exception)的处理源码2.自定义异常返回utils/handlers.pyutils/exceptions.pyviews.pyDjangoDRF异常处理1.DRF对异常(Exception)的处理源码request请求先进到APIView的dispatch方法,如果有异常走到exception。2.自定义异常返回uti
  • 2024-07-126. DRF 版本
    目录DjangoDRF版本1.使用1.1URL传递version参数DjangoDRF版本1.使用rest_framework的versioning.py中定义了多种方法,支持不同方式携带version信息,比如支持url/hostname/namespace中携带并传递version信息1.1URL传递version参数https://127.0.0.1:8000/user/?ve
  • 2024-07-125. DRF 限流
    目录DjangoDRF限流1.使用1.1设置认证全局变量1.2为单个视图方法设置权限1.3限制用户一小时只能访问五次DjangoDRF限流1.使用1.1设置认证全局变量在settings.py添加如下代码REST_FRAMEWORK={"DEFAULT_THROTTLE_CLASSES":['utils.throttle.MineThrottle']}
  • 2024-07-08drf 中url包含多个动态参数
    from.importviewsfromdjango.urlsimportpath,re_pathfrom.importviewsurlpatterns=[path('v2/sendSms',views.SendSmsAPIView.as_view(),name='sendSms'),path('v2/sendSmsPa',views.SendSmsPaAPIView.as_view(),
  • 2024-07-07DRF 前后端分离项目如何解决CSRF 数据交互
    ★背景说明在DjangoRESTframework(DRF)前后端分离项目中,解决CSRF问题通常有以下几种方法:1.禁用CSRF验证,但这会降低安全性。(不推荐)2.使用csrftokencookie3.在前端每次POST、PUT或DELETE请求前先发起一个GET请求(GET请求不需要经过CSRF检查)获取CSRFToken并将响
  • 2024-06-09Django API开发实战:前后端分离、Restful风格与DRF序列化器详解
    系列文章目录Django入门全攻略:从零搭建你的第一个Web项目DjangoORM入门指南:从概念到实践,掌握模型创建、迁移与视图操作DjangoORM实战:模型字段与元选项配置,以及链式过滤与QF查询详解DjangoORM深度游:探索多对一、一对一与多对多数据关系的奥秘与实践跨域问题与Django解决
  • 2024-05-30利用腾讯云和drf框架去编写一个用户注册的验证码验证
    一、编写利用腾讯云文件在项目—>utils下创建一个文件tencentsms.py:classTengXun(object):defsend_sms(self,code,mobile):#短信应用SDKAppIDappid=APP_ID#SDKAppID是1400开头,你们申请的appid#短信应用SDKAppKey也是你们自己
  • 2024-05-15django-drf 全局封装
    封装全局异常common_exceptions.pyfromrest_framework.viewsimportexception_handlerfromrest_framework.responseimportResponsedefcommon_exception_handler(exc,context):#记录日志request=context.get('request')view=context.get(�
  • 2024-05-15drf之视图类
    drf视图组件类一、两个视图基类【1】继承APIView+序列化类+Response写接口views视图层classBookView(APIView):defget(self,request):book_list=Book.objects.all()ser=BookSerializer(book_list,many=True)returnResponse(ser.da
  • 2024-05-15drf之请求和响应
    drf之请求和响应一、drf之请求【1】源码分析#Request类的对象fromrest_framework.requestimportRequest#1新的request#2request.data前端传入的请求体中得数据,无论那种编码#3用起来跟之前一样#4老的request在request._request【2】配置视图类能处理的编