自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

安小静--

小白测试进阶中....

  • 博客(12)
  • 收藏
  • 关注

原创 35.Django_类视图_Mixins

痛点经过之前的过滤引擎、分页引擎的学习后,会发现view视图的代码越来越多,复用和维护又变得困难了。本次就想方法来解决这个痛点一、回顾views.py中,关于project的代码1.1、5个方法,分为了两个类来写的原因ProjectsList类:都是不需要id值的a.添加project信息的post方法b.获取所有的project信息的get方法。-ProjectDetail类:都是...

2019-12-26 18:26:25 311

原创 34.Django_类视图_GenericAPIView_过滤引擎_分页

常见的需求:分页返回查询到的结果一、pagination分页类使用rest framework官方的pagination分页引擎,提供了三种分页类:1.PageNumberPagination:根据页数进行分页2.LimitOffsetPagination:根据偏移量进行分页3.CursorPagination:根据游标进行分页二、PageNumberPagination:根据页数进行...

2019-12-26 17:50:51 173

原创 33.Django_类视图_GenericAPIView过滤引擎_查询

一个十分常见的需求:根据某个/某些字段进行过滤(查询)得出结果(全匹配)django_filters使用rest framework官方的django_filters开源查询过滤引擎,就可以在视图,或全局设置查询过滤引擎1. 安装和注册 django_filters安装pip install django_filterspip install -i https://pypi.dou...

2019-12-26 17:02:47 354

原创 32.Django_类视图_GenericAPIView过滤引擎_排序

GenericAPIView继承于APIView,为常用的列表视图和详细视图提供了一些操作属性方法。1. 使用GenericAPIView时需要导入对应模块:from rest_framework import generics2.常用属性和方法:.queryset指定要显示的Model对象的QuerySet对象(查询集),用于列表视图中。在GenericAPIView中必须指定该...

2019-12-10 17:38:01 269

原创 31.Django_framework_APIView

我们之前的传入参数都是json格式,如果很多请求参数的格式都是form表单等格式需要怎么操作,之前的模式直接穿参数会报错:我们需要解决既支持json格式传入参数,又支持form表单格式传入参数:导入APIViewfrom rest_framework.views import APIView修改之前的继承View为APIView;class ProjectsList(APIVi...

2019-12-10 17:15:55 182

原创 30.Django_framework_序列化器之自定义外键

Django_framework_模型序列化器ModelSerializer再看一下接口的模型类:之前定义的projects/model.pyfrom django.db import models# Create your models here.class Interfaces(models.Model): # 创建Projects模型类 name = mod...

2019-12-09 19:05:47 1410

原创 29.Django_framework_模型序列化器ModelSerializer

这一节再简化一下上一节的序列化器,用模型类序列化器自动生成序列化器,1. ModelSerializer类ModelSerializer类能够让我们自动你创建一个具有对应模型类中,相对应字段的Serializer类ModelSerializer类直接继承了Serializer类,不同的是:它根据model模型的定义,自动生成默认字段。它自动生成序列化器的验证器,比如unique_tog...

2019-12-07 11:42:18 252

原创 28.Django_framework_优化新增和修改方法

1.优化的前提,需了解在views.py的方法中,创建序列化器对象时,如果只传参data,那么在调用save()方法时,实际上调用的是序列化器对象的create()方法在views.py的方法中,创建序列化器对象时,如果传参data和instance,那么在调用save()方法时,实际上调用的是序列化器对象的update()方法2.基于上面,可进行的优化可重写序列化器对象的creat...

2019-12-06 18:27:19 141

原创 27. Django_framework_序列化器和自定义校验

一、序列化器中的类属性字段序列化中所定义的类属性字段,一般情况下与模型类字段相对应默认情况下,这些类属性字段既可以进行序列化输出,也可以进行反序列化输入不需要输入(反序列化)、输出(序列化)的字段,则不需要定义只需要反序列化输入,则定义write_only = True只需要序列化输出,则定义read_only = True响应的参数如果是多个查询集,需要在JsonResponse(...

2019-12-04 22:46:37 919

原创 26. Django_framework_反序列化和前端校验

反序列化优化:校验前端参数之前的代码中,因为太繁琐,就省略了对前端传递的参数进行正确性校验。在这里,我们对这部分进行优化调用序列化器对象的is_valid方法,校验前端参数的正确性校验成功返回True校验失败返回Falseserializer.is_vaild(raise_exception = True)校验失败会抛出异常当调用is_valid()方法后,就可以调用s...

2019-12-04 22:06:38 329

原创 25. Django_framework_序列化2

新增接口: def post(self,request): #新增项目 json_data = request.body.decode('utf-8') python_data= json.loads(json_data,encoding='utf-8') project = Projects.objects.create(**py...

2019-12-04 17:11:21 116

原创 24.Django_framework_序列化

上一篇说了使用Django传统写CRUD的痛点,那么现在就说解决这些痛点的方法Django REST framework简称为DRF框架或者REST freamwork框架是在Django框架的基础上,进行二次开发的适用于构建符合RESTful风格的API一、特性提供了强大的Serializer序列化器,可以高效地进行序列化与反序列化操作提供了丰富的类视图、Mixin扩展类、V...

2019-12-02 18:20:54 113

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除