- 2025-01-16drf:django restframework(一)
1.快速上手安装:pipinstalldjangorestframework配置,在settings.py中添加配置(这个drf是有默认app的,就是rest_framework。),后面的drf相关配置是在REST_FRAMEWORK里面配置。INSTALLED_APPS=[...#注册rest_framework(drf)'rest_framework',]#drf相关配
- 2025-01-16drf:django restframework(二)
限流限流,限制用户访问频率,例如:用户1分钟最多访问100次或者短信验证码一天每天可以发送50次,防止盗刷。对于匿名用户,使用用户IP作为唯一标识。对于登录用户,使用用户ID或名称作为唯一标识。原理: 内部处理机制是,最后的一个时间和前面的用户标识时间做比较,就如下
- 2025-01-03Django Swagger文档库drf-spectacular
一、概述drf-spectacular是一个为DjangoRESTFramework(DRF)设计的OpenAPI3.0和3.1规范的生成器。它旨在提供既理智又灵活的方式来创建API文档,主要实现以下三个目标:从DRF中提取尽可能多的schema信息提供灵活性,使schema在现实世界中可用(不仅仅是示例)生成一个与
- 2024-12-28DRF之序列化器【3】数据校验
目录前言1.基本校验2.内置和正则校验3.钩子校验4.Model校验5.保存数据之普通字段6.保存数据之FK和M2M字段7.数据校验总结总结前言在前两篇文章我们已经介绍了序列化器的序列化数据的功能以及源码实现,本文将接着介绍它的数据校验功能以及数据保存。序列化器
- 2024-12-26DRF之序列化器【2】源码流程
目录前言1.流程概述2.创建字段对象3.创建类4.实例化类5.序列化过程5.1UserSerializer类5.2ListSerializer类6.总结前言序列化器是Django框架中的一个重要概念,用于在Python对象和JSON等格式之间进行相互转换。通过序列化器,我们可以方便地将模型实例转换为JS
- 2024-11-30DRF
DRFdjangorestframework(简称drf)本质上其实就是一个别人编写好的app,里面集成了很多编写restfulAPI的功能功能,接下里咱们就来学习drf并用他来开发restfulAPI。快速上手安装pipinstalldjangorestframework==3.12.4版本要求:djangorestframework==3.12.4 Python(3.5,3.
- 2024-11-24实验四 类的组合、继承、模板类、标准库
任务1:task1.cpp1#include<iostream>23usingstd::cout;4usingstd::endl;56//类A的定义7classA{8public:9A(intx0,inty0);10voiddisplay()const;1112private:13intx,y;14};1516A::A(intx0,inty0):x{
- 2024-10-05CSRF 攻击
CSRF(Cross-SiteRequestForgery)保护机制。CSRF攻击是指攻击者通过伪装成用户向应用发送恶意请求,而这些请求是用户在不知情的情况下发起的。例如,如果用户在一个银行网站上登录,然后访问了一个恶意网站,该恶意网站可能包含一个自动提交的表单,这个表单会向银行网站发送请求来转账
- 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(),