• 2024-10-29DRF-Serializers序列化器组件源码分析及改编su
    1.源码分析注意:以下代码片段为方便理解已进行简化,只保留了与序列化功能相关的代码序列化的源码中涉及到了元类的概念,我在这里简单说明一下:元类(metaclass)是一个高级概念,用于定义类的创建行为。简单来说,元类是创建类的类,它决定了类的创建方式和行为。在Python中一切皆为对象,包
  • 2024-10-28DRF-Serializers序列化器组件源码分析及改编
    1.源码分析注意:以下代码片段为方便理解已进行简化,只保留了与序列化功能相关的代码序列化的源码中涉及到了元类的概念,我在这里简单说明一下:元类(metaclass)是一个高级概念,用于定义类的创建行为。简单来说,元类是创建类的类,它决定了类的创建方式和行为。在Python中一切皆为对象,包
  • 2024-10-06序列化器中拿到request
    classUpdateMobileSerializer(serializers.ModelSerializer):old=serializers.CharField(write_only=True,validators=[RegexValidator(r"\d{11}",message="格式错误")])mobile=serializers.CharField(write_only=True,validators=[RegexV
  • 2024-08-013.校验,格式化,ModelSerializer使用
    【一】反序列化校验1)三层校验字段自己校验直接写在字段类的属性上局部钩子在序列化中写validata_字段名全局钩子#serializers.pyclassBookSerializer(serializers.Serializer):#1)name字段的要大于1小于10name=serializers.CharField(min_length=
  • 2024-08-012.Request,Response和序列化类
    【一】不同编码格式的http请求django视图类或视图函数的request#只针对post请求的urlencoded编码格式才有数据(<QueryDict:{"a":"a"}>)request.POST#请求地址框中获得数据(<QueryDict:{"a":["a"]}>)request.GET #只取一个request.GET.get('key')
  • 2024-06-05序列化器(Serializers)踩坑记录
    1、data数据不能加'.values()'deflistParticulars(self,request,*args,**kwargs):particulars=xmind_particulars.objects.all()#不能加values()serializer=ParticularsSerializer(particulars,many=True)returnAPIRespones('
  • 2024-06-03【DRF-09】rest-framework之序列化(序列化)
    1.序列化用于对用户请求数据进行验证和数据进行序列化,本篇文章主要讲解序列化部分。1.1:序列化的意义:web有两种应用模式,一种是前后端不分离,一种是前后端分离,当前后端分离的时候,后端只需要向前端传输数据即可,不需要进行其他的操作,而restframework在前后端传输数据时,主要是jso
  • 2024-05-20django rest django.core.exceptions.ImproperlyConfigured: Could not resolve URL for hyperlinked relat
    使用:HyperlinkedRelatedField报错信息django.core.exceptions.ImproperlyConfigured:CouldnotresolveURLforhyperlinkedrelationshipusingviewname"fk_table:album_list".YoumayhavefailedtoincludetherelatedmodelinyourAPI,orincorrectly
  • 2024-05-1505限流和序列化
    限流和序列化1.限流限流,限制用户访问频率,一般的限流用户信息都存于缓存之中,例如:用户1分钟最多访问100次或者短信验证码一天每天可以发送50次,防止盗刷。对于匿名用户,使用用户IP作为唯一标识。对于登录用户,使用用户ID或名称作为唯一标识。1.1限流组件使用步骤(1)创建限流组
  • 2024-04-22DRF之序列化组件
    【二】序列化组件【1】序列化与反序列化的概念序列化(Serialization):将对象转换为可传输或可存储的格式的过程。在序列化过程中,对象的属性和数据被转换为一个字节流或字符串,以便在网络上传输或保存到文件中。常见的序列化格式包括JSON、XML、ProtocolBuffers等。序列化后的数
  • 2024-04-21序列化反序列化
    【一】序列化常见字段​ 序列化类中有很多多字段,如CharFieldIntegerField,他们会跟models里面的字段一一对应,除了这些,序列化类还多出了两个字段ListField和DictField,非常重要字段字段构造方式BooleanFieldBooleanField()NullBooleanFieldNullBooleanField()
  • 2024-04-21APIView类
    【一】APIView类的介绍【1】介绍​ DjangoRESTFramework(DRF)中的APIView类是一个非常重要的基类,用于定义基于类的视图(Class-basedViews)来处理RESTfulAPI请求。它提供了强大的功能和灵活的扩展点,使得编写API视图变得更加简单和灵活。【2】主要特点和用法处理HTTP请
  • 2024-04-14DRF之序列化类介绍及使用
    一、序列化类1、介绍序列化组件在DRF中扮演着重要的角色,帮助开发者轻松地定义数据的序列化和反序列化过程,同时提供了数据验证、字段定义、嵌套序列化等功能。通过使用序列化组件,您可以更好地控制API的数据输入和输出,确保数据的有效性和一致性。serializers.Serializer是基
  • 2024-04-13drf中常用的字段及用法
    【序列化常见字段】  其实就是嵌套,字典中对象嵌套字典,就用DictField,对象套列表用ListField【序列化常见字段参数】validators :该字段使用的验证器--》字段自己的校验[1max_lenght2validators],局部钩子,全局钩子 name=serializer.CharField(validators=[valida_na
  • 2024-04-11Django ModelSerializer 中如何实现自定义验证
    随着Web开发的日益复杂化,对数据验证的需求也日益增加。DjangoRESTframework提供了一套强大的、灵活的验证系统,帮助开发者轻松处理各种复杂情况。本文将重点探讨DjangoModelSerializer中如何实现自定义验证。1.简介DjangoModelSerializer不仅简化了序列化过程,还内建了
  • 2024-04-08Django框架之序列化组件
    一、为什么要序列化呢?我们在写一些项目前后端是分离的,这意味着无法直接利用django提供的模版语法来实现前后端的数据交互,需要将数据转换成前后端都能接收处理的格式,即json,一般的格式都是列表套字典。那么我的前端想拿到由ORM得到的数据库里面的一个个用户对象,而我的后端也想直接
  • 2024-03-26Django_Restful_Framework
    1.Web应用模式在开发Web应用中,有两种应用模式:前后端不分离前后端分离2.api接口为了在团队内部形成共识、防止个人习惯差异引起的混乱,我们需要找到一种大家都觉得很好的接口实现规范,而且这种规范能够让后端写的接口,用途一目了然,减少双方之间的合作成本。目前市面上大部
  • 2024-03-25Ajax 发送json格式数据以及发送文件(FormData)和自带的序列化组件: serializers
    前后端传输数据的编码格式(contentType)get请求数据就是直接放在url?后面的url?usernmae=junjie&password=123...可以向后端发送post请求的方式form请求ajax请求前后端传输数据的编码格式urlencodedformdatajson研究form表单:默认的数据编码格式是(urlencod
  • 2024-03-25drf : 模型类序列化器 以及扩展用法。
    模型类序列化器:serializer的升级。注意,此时表模型自身的校验规则也将映射过来。只需要在serializers中写一个模型类序列化器即可。serializer.py#模型类序列化器#此序列化类和表模型有对应关系,映射classPublishModelSerializer(serializers.ModelSerializer):class
  • 2024-03-12序列化器-Serializer LL
    1定义序列化器DjangoRESTframework中的Serializer使用类来定义,须继承自rest_framework.serializers.Serializer。例如,我们已有了一个数据库模型类BookInfoclassBookInfo(models.Model):btitle=models.CharField(max_length=20,verbose_name='名称')bpub_date
  • 2024-02-11二十四、Django Serializes
    SerializersDjango中,自定义类型的对象无法通过json序列化,可以使用serializers。defget_data(request):#由于UserInfo是自定义对象,不能通过json序列化#因此使用以下方式fromdjango.coreimportserializersret={'status':True,'data':None}try:
  • 2024-01-16Django 使用swagger自定义自动生成类
    完整代码:https://gitee.com/mom925/django-system之前写的Django配置swagger(https://www.cnblogs.com/moon3496694/p/17657283.html)其实更多还是自己手动的写代码去书写接口文档,我希望它能更加的自动化生成出接口文档,所以我需要自己重写一些函数。安装所需的包,注册app,注册路由参考
  • 2023-12-27利用网络教育系统构建个性化学习平台
    在现代教育中,网络教育系统作为一种创新的学习方式,为学生提供了更加个性化和灵活的学习体验。在本文中,我们将通过简单的技术代码,演示如何构建一个基础的网络教育系统,为学生提供个性化的学习路径和资源。1.环境准备:首先,确保你的系统已经安装了适当版本的Python和Django。在终端中输
  • 2023-12-22Python DRF基础使用01
    目录1,web应用模式(了解)2,restful风格介绍(了解)3,restful设计风格(了解)4,restful案例(了解)5,数据准备6,查询所有数据(理解)7,创建对象(理解)8,获取单个对象(理解)9,修改单个对象(理解)10,删除单个对象(理解)11,DRF魅力展示(了解)12,序列化器概述(了解)13,序列化器定义(掌握)1
  • 2023-12-21dfr之序列化常用字段、soruce、定制返回字段、多表关联反序列化、ModelSerializer的使用
    一、序列化类常用字段#除了CharField以外,还要很多别的---》表模型中models.CharField--->基本一一对应#如果跟表模型中对不上:你统一用CharField#重要:(后面说)ListFieldDictField字段字段构造方式BooleanFieldBooleanField()NullBooleanFieldNullB