摘要:
生成接口文档 21.1 coreapi的使用 安装依赖 pip install coreapi 配置 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'd 阅读全文
摘要:
异常处理 20.1 异常示例 视图 class ExceptionView(APIView): def get(self, request): a = 1/0 return Response({"message": "ok"}) 路由 from django.urls import path fro 阅读全文
摘要:
Django drf 分页 19.1 全局配置 配置分页类 REST_FRAMEWORK = { ...... # 分页 #'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination', # 偏移量分页器 阅读全文
摘要:
Django drf 排序 18.1 全局配置 配置排序类 REST_FRAMEWORK = { ...... 'DEFAULT_FILTER_BACKENDS': ( 'rest_framework.filters.OrderingFilter', # 注意这里不能使用django_filters 阅读全文
摘要:
Django drf 过滤 17.1 全局配置 安装模块 pip install django-filter 注册模块 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contentt 阅读全文
摘要:
Django drf限流 16.1 全局配置 配置文件settings.py REST_FRAMEWORK = { 'DEFAULT_THROTTLE_CLASSES': ( 'rest_framework.throttling.AnonRateThrottle', # 匿名用户,未登录的 'res 阅读全文
摘要:
Django drf 权限 15.1 权限 身份验证或身份识别本身通常不足以获取信息或代码的访问权限。因此,请求访问的实体必须具有授权。— Apple Developer Documentation 连同认证和限制,权限决定是否应该接收请求或拒绝访问。 权限检查始终在视图的开始处运行,在允许继续执行 阅读全文
摘要:
Django drf 认证 14.1 认证 身份验证功能需要可插拔。— Jacob Kaplan-Moss, "REST worst practices" 身份验证是将传入请求与一组标识凭据(例如请求来自的用户或其签名的令牌)相关联的机制。然后,权限 和 限制 可以使用这些凭据来确定是否应允许该请求 阅读全文
摘要:
序列化器的嵌套 (1) 新建一个应用 python manage.py startapp school (2) 注册应用 INSTALLED_APPS = [ # 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.conte 阅读全文
摘要:
基于视图集实现接口 12.1 视图集的简介 使用视图集ViewSet,可以将一系列逻辑相关的动作放到一个类中: list() 提供一组数据 retrieve() 提供单个数据 create() 创建数据 update() 保存数据 destory() 删除数据 ViewSet视图集类不再实现get( 阅读全文
摘要:
基于视图子类实现接口 11.1 视图子类介绍 (1) CreateAPIView 提供 post 方法 继承自: GenericAPIView、CreateModelMixin (2)ListAPIView 提供 get 方法 继承自:GenericAPIView、ListModelMixin (3 阅读全文
摘要:
基于Mixin扩展类和GenericAPIView实现接口 10.1 扩展类简介 (1)ListModelMixin 列表视图扩展类,提供list(request, *args, **kwargs)方法快速实现列表视图,返回200状态码。 该Mixin的list方法会对数据进行过滤和分页。 源代码: 阅读全文
摘要:
两个视图基类 9.1 APIView基本视图类 9.1.1 APIView与django的view的区别 View是Django默认的视图基类,APIView是REST framework提供的所有视图的基类, 继承自Django的View,对Django中的View进行了拓展,具备了认证、授权、限 阅读全文
摘要:
drf视图中调用的请求和响应类 8.1 request 如果使用视图的时候使用的是drf中的视图(如:APIView),而不是django的视图(View),那么视图中调用的请求对象request不再是原来的request,下面给出示例: from rest_framework.views impo 阅读全文
摘要:
模型类序列化器 7.1 序列化多条数据 序列化器 class StudentModelSerializer(serializers.ModelSerializer): """学生信息序列化器""" class Meta: model = studentsInfo # 必填 fields = ["id 阅读全文
摘要:
反序列化(添加和更新) 6.1 添加数据 序列化器 class Student1Serializer1(serializers.Serializer): """学生信息序列化器""" # 1.转换的字段说明 # 字段 = serializer.字段类型(选项=选项值) id = serializer 阅读全文
摘要:
反序列化(钩子函数进行复杂数据验证) 5.1 验证单个字段 序列化器: class Student1Serializer1(serializers.Serializer): """学生信息序列化器""" # 1.转换的字段说明 # 字段 = serializer.字段类型(选项=选项值) id = 阅读全文
摘要:
反序列化(利用字段参数进行数据验证) 4.1 序列化器 class Student1Serializer1(serializers.Serializer): """学生信息序列化器""" # 1.转换的字段说明 # 字段 = serializer.字段类型(选项=选项值) id = serializ 阅读全文
摘要:
序列化器的简单使用 3.1 新建app django-admin startapp sers 3.2 注册app INSTALLED_APPS = [ # 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contentty 阅读全文
摘要:
使用DRF实现五个api接口 2.1 新建app django-admin startapp app01 2.2 配置环境 # 注册app01和rest_framework,由于drf提供了web调试界面,所以静态文件功能不能注释掉,不然web界面没有样式 INSTALLED_APPS = [ # 阅读全文