随笔分类 -  Django ----drf模式开发

1
drf是一种前后端分离开发的模式
摘要:#drf组件中,为我们提供了两个序列化类 Serializer ModelSerializer ##这两个类类似于Django中的form和ModelForm,其实底层就是继承了这两个类 ###1.Serializer 跟form一样,需要自己写字段名称 ###2.ModelSerializer 跟 阅读全文
posted @ 2022-05-07 22:08 志强爱璇璇 阅读(77) 评论(0) 推荐(0) 编辑
摘要:#为了方便版本管理,drf为我们提供了5个版本管理类 QueryParameterVersioning (将版本信息以URL参数的形式传递) URLPathVersioning (将版本信息以URL路径形式传递) AcceptHeaderVersioning (将版本信息以请求头的形式传递) Hos 阅读全文
posted @ 2022-05-06 18:59 志强爱璇璇 阅读(55) 评论(0) 推荐(0) 编辑
摘要:#官方文档:http://core-api.github.io/python-client/ REST framework可以自动帮助我们生成接口文档。 接口文档以网页的方式呈现。 自动接口文档能生成的是继承自APIView及其子类的视图。 #安装依赖 REST framewrok生成接口文档需要c 阅读全文
posted @ 2022-05-04 21:20 志强爱璇璇 阅读(75) 评论(0) 推荐(0) 编辑
摘要:#REST framework提供了自定义异常处理,我们可以自定义的方式来编写异常处理函数。例如我们想在要创建一个自定义异常函数, 注意:这个函数,我们保存到当前主应用中[注意在实际工作中,我们可以设置一个单独的独立的公共目录来保存这种公共的函数/工具/类库]。 在项目目录去创建一个 excepti 阅读全文
posted @ 2022-05-04 21:08 志强爱璇璇 阅读(79) 评论(0) 推荐(0) 编辑
摘要:##REST framework提供了分页的支持,提供了两个分页类 ##使用方法 ###1.在配置文件settings.py中配置使用 REST_FRAMEWORK = { 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumb 阅读全文
posted @ 2022-05-04 20:36 志强爱璇璇 阅读(107) 评论(0) 推荐(0) 编辑
摘要:##1.导入模块组件 from rest_framework.filters import SearchFilter ##2.自定义视图类中的相关设置参数 from rest_framework.viewsets import ModelViewSet from rest_framework.fil 阅读全文
posted @ 2022-05-04 20:26 志强爱璇璇 阅读(476) 评论(0) 推荐(0) 编辑
摘要:##排序组件OrderingFilter 作用:对于列表数据,REST framework提供了OrderingFilter过滤器来帮助我们快速指明数据按照指定字段进行排序。 ###使用方法 导入模块:from rest_framework.filters import OrderingFilter 阅读全文
posted @ 2022-05-04 19:25 志强爱璇璇 阅读(123) 评论(0) 推荐(0) 编辑
摘要:#对于列表数据可能需要根据字段进行过滤,我们可以通过添加django-fitlter扩展来增强支持。 安装:pip install django-filter 在配置文settings.py中增加过滤组件的设置: INSTALLED_APPS = [ ... 'django_filters', # 阅读全文
posted @ 2022-05-04 18:54 志强爱璇璇 阅读(213) 评论(0) 推荐(0) 编辑
摘要:##限流组件Throttling 可以对接口访问的频次进行限制,以减轻服务器压力,或者实现特定的业务。一般用于付费购买次数,投票等场景使用. ###可选限流类 1.AnonRateThrottle :限制所有匿名未认证用户,使用IP区分用户。 使用DEFAULT_THROTTLE_RATES['an 阅读全文
posted @ 2022-05-04 18:47 志强爱璇璇 阅读(225) 评论(0) 推荐(0) 编辑
摘要:##权限组件Permissions,与认证组件用法类似 ###权限控制可以限制用户对于视图的访问和对于具体数据模型对象的访问。 在执行视图的as_view()方法的dispatch()方法前,会先进行视图访问权限的判断 在通过get_object()获取具体模型对象时,会进行模型对象访问权限的判断 阅读全文
posted @ 2022-05-04 17:53 志强爱璇璇 阅读(292) 评论(0) 推荐(0) 编辑
摘要:##认证组件Authentication的配置方式一 ###在配置文件中配置全局认证方案 首先可以在目录 /rest_framework/settings.py 下,找到认证组件配置 然后将配置信息,添加到项目主应用的settings.py中,但是这样是全局配置 示例代码 REST_FRAMEWOR 阅读全文
posted @ 2022-05-04 17:37 志强爱璇璇 阅读(167) 评论(0) 推荐(0) 编辑
摘要:#一、REST framework提供了两个router类 作用:可以使用Routers来帮助我们快速实现路由信息。 ##1.SimpleRouter ###使用方法 1.创建router对象,并注册视图集 router = routers.SimpleRouter() router.registe 阅读全文
posted @ 2022-05-04 16:35 志强爱璇璇 阅读(272) 评论(0) 推荐(0) 编辑
摘要:##action属性 作用:在视图集中,我们可以通过action对象属性来获取当前请求视图集时的action动作是哪个。 代码示例 from rest_framework.viewsets import ModelViewSet from students.models import Student 阅读全文
posted @ 2022-05-04 16:07 志强爱璇璇 阅读(102) 评论(0) 推荐(0) 编辑
摘要:##1. ViewSet 作用:ViewSet主要通过继承ViewSetMixin来实现在调用as_view()时传入字典(如{'get':'list'})的映射处理工作。 ##2. GenericViewSet 作用:使用ViewSet通常并不方便,因为list、retrieve、create、u 阅读全文
posted @ 2022-05-04 16:00 志强爱璇璇 阅读(23) 评论(0) 推荐(0) 编辑
摘要:##视图扩展类的作用 提供了几种后端视图(对数据资源进行曾删改查)处理流程的实现,如果需要编写的视图属于这五种,则视图可以通过继承相应的扩展类来复用代码,减少自己编写的代码量。 ###1.ListModelMixin 作用: 列表视图扩展类,提供list(request, *args, **kwar 阅读全文
posted @ 2022-05-04 00:00 志强爱璇璇 阅读(33) 评论(0) 推荐(0) 编辑
摘要:视图类:GenericAPIView 作用:通用视图类主要作用就是把视图中的独特的代码抽取出来,让视图方法中的代码更加通用,方便把通用代码进行简写。 新增的功能: 继承自APIView,**主要增加了操作序列化器和数据库查询的方法 ###1类属性 - 指定视图使用的序列化器 serializer_c 阅读全文
posted @ 2022-05-03 23:11 志强爱璇璇 阅读(67) 评论(0) 推荐(0) 编辑
摘要:##1.请求类的新方法 ###request.query_params方法的使用 类似request.GET 代码示例: from rest_framework.views import APIView from rest_framework.response import Response cla 阅读全文
posted @ 2022-05-03 22:39 志强爱璇璇 阅读(58) 评论(0) 推荐(0) 编辑
摘要:##类似ModerForm的用法 ###1.serializers.py代码示例: from rest_framework import serializers from student import models class StudentModelSerializers(serializers. 阅读全文
posted @ 2022-05-03 18:58 志强爱璇璇 阅读(33) 评论(0) 推荐(0) 编辑
摘要:##一.新增数据的create方法 ###1.serializers.py代码示例 from rest_framework import serializers from student import models class StudentSerializer(serializers.Serial 阅读全文
posted @ 2022-05-03 17:45 志强爱璇璇 阅读(85) 评论(0) 推荐(0) 编辑
摘要:##类似于Django的form组件 ##注意:验证的顺序是,先验证单字段,再验证多字段 ##一.序列化的文件,serializers.py代码示例 ####1.单字段校验(方式一) class StudentSerializer(serializers.Serializer): name = se 阅读全文
posted @ 2022-05-03 17:04 志强爱璇璇 阅读(59) 评论(0) 推荐(0) 编辑

1
点击右上角即可分享
微信分享提示