首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

DRF框架学习(四)

DRF框架学习(四) 1.视图集对象action属性 作用: 获取现在要执行是哪一种操作。 self.action:是字符串类型,目的是获取所有执行操作。...使用场景: 重写 get_serializer_class和get_queryset,根据不同操作返回不同序列化器类和不同查询。...返回latest操作所使用查询 else: # 返回其他操作所使用查询 2.路由Router(urls文件中使用) 作用:(重点) 配合视图集进行使用,动态生成视图集中处理函数...在执行视图dispatch()方法前,会先进行视图访问权限判断 在通过get_object()获取具体对象时,会进行对象访问权限判断 DRF框架提供了四个权限控制类: AllowAny允许所有用户...10.2自定义异常处理 10.2.1自定义DRF框架异常处理函数 1.自定义异常处理函数 2.设置EXCEPTION_HANDLER配置项 10.2.2详解 可以在DRF框架异常处理函数基础,补充一些其他异常处理

2.7K40
您找到你想要的搜索结果了吗?
是的
没有找到

重点内容回顾-DRF

5.4.3序列化功能 将实例对象转换为字典数据: a.序列化单个对象。 b.序列化多个对象。(其实就是在序列化单个对象基础多加了一个参数many=True) c.关联对象嵌套序列化。...4.高级功能:认证、权限、限流 5.5.2.2GenericAPIView 是APIView子类,在APIView基础添加操作序列化器和数据库查询方法。...数据库查询 属性: queryset(指定视图所使用查询) 方法: get_queryset返回视图所使用查询 get_object从视图所使用查询集中查询指定对象,默认根据pk进行查询。...返回latest操作使用查询 else: # 返回其他操作所使用查询 5.6.6路由Router 作用 配合视图集进行使用,动态生成视图集中处理函数url配置项。...权限:区分是认证与未认证用户。可以进行DRF框架默认全局权限设置,也可对其进行修改,还可以指定某个视图权限控制设置,甚至可以自定义权限控制类。权限和认证通常是一起使用

2.4K20

Django-DRF | APIView 视图类

对象不再是Django默认HttpRequest对象,而是REST framework提供扩展了HttpRequest类Request类对象。...一、DRF 框架所有视图类 最基础:django 自带 views 类 DRF 框架最基础视图类:views.APIView DRF 框架中工具视图:generics GenericAPIView...:该视图类中基类 mixins 视图工具: RetrieveModelMixin:retrieve 单取 ListModelMixin:list 群取 CreateModelMixin:create...django 自带 views 进行相关方法封装 二、APIView 实现 get post put delete等 继承django自带views View,可以处理 request 和 response...,可以捕获异常处理,处理响应信息,以及在进行第三 patch() 分发前,可以用户身份验证、权限验证、流量控制。

1.1K20

drf之请求、响应、视图

-request 当前视图请求对象 -view 当前请求类视图对象 -format 当前请求期望返回数据格式 提供关于数据库查询属性与方法 属性:queryset  指明使用数据查询...方法: get_queryset(self) :返回视图使用查询,主要用来提供给Mixin扩展类使用,是列表视图与详情视图获取数据基础,默认返回queryset属性,可以重写 get_object...**该方法会默认使用APIView提供check_object_permissions方法检查当前对象是否有权限被访问。...()等方法,而是实现动作 action list() 、create() 等。...**ViewSet主要通过继承ViewSetMixin来实现在调用as_view()时传入字典({‘get’:’list’})映射处理工作。

2.1K20

Django REST Framework-信号

DRF信号是基于Python标准库中signal模块实现DRF信号通常用于以下情况:在对象创建、保存、删除等事件发生时执行某些操作。...在请求处理过程中某些特定时间点执行某些操作,请求前、请求后、异常处理等。DRF提供了多个信号,可以通过导入django.dispatch.Signal来访问这些信号。...以下是一个简单示例,演示如何在对象保存时执行某些操作:from django.db.models.signals import post_savefrom django.dispatch import...当MyModel对象被保存时,do_something函数将被调用。我们可以在do_something函数中执行任何自定义代码,发送电子邮件、调用外部API等。...另外,DRF还提供了一些自定义信号,request_started、request_finished、request_exception等。

7.2K101

Django REST Framework

,用来保存,传输等 反序列化: 序列化反操作序列化/反序列化-DRF 实验步骤 创建project DRF2 创建app MySer settingsserializer类型参数 read_only...drf请求和反馈类会引发并处理APIException在dispatch之前,会进行身份验证,权限检查,流量控制支持属性有authentication_classes: 列表或者元祖,身份验证类...permisson_classes: 进行权限验证throttle_classes:流量控制类对API访问提供了一些方便HTTP-Method + 名词默认对HttpMethod常用方法提供了支持案例...- 支持属性 - queryset:查询结果 - serializer_class: 视图使用序列化器 - panination_class...: 分页控制器 - filter_backends: 过滤器后端 - lookup_field:查询条件字段,默认为pk - get_queryset: 返回查询结果集合

2.1K63

DRF框架学习(二)

1.Restful API接口实现 1.1需求实现思路 1、获取指定图书信息: 1)根据pk获取指定图书对象(pk由查询字符串形式传给后端) 2)将图书json数据返回,状态码:200 2、修改指定图书信息...: 1)根据pk获取指定图书对象 2)删除对应数据 3)返回响应,状态码:204 注意: pk是id一个别称 重点掌握实现思路,如何去将需求一步步实现出来,然后其次重要就是代码。...ModelViewSet): queryset = BookInfo.objects.all() serializer_class = BookInfoSerializer queryset 指明该视图集在查询数据时使用查询...:DRF框架中所有序列化器父类,定义序列化器类时,可以直接继承此类 # serializers.ModelSerializer:是Serializer子类,在父类基础,添加了一些功能 class...ModelSerializer与常规Serializer相同,但提供了: 基于模型类自动生成一系列字段 包含默认create()和update()实现 class BookInfoSerializer

4.1K30

DRF进阶之DRF视图和常用功能

APIView:DRF提供所有视图基类,继承View并扩展,具备了身份认证、权限检查、流量控制等功能。...传入视图request对象不再是Django默认HttpRequest对象,而是基于HttpRequest类扩展后Request类对象。...DRF认证 目前DRF可任意访问,没有任何限制,是不符合生产环境标准,因此接下来学习认证实现访问控制。...DRF支持四种认证方式: BasicAuthentication:基于用户名和密码认证,适用于测试 SessionAuthentication:基于Session认证 TokenAuthentication...:基于Token认证 RemoteUserAuthentication:基于远程用户认证 DRF支持权限: IsAuthenticated:只有登录用户才能访问所有API AllowAny:允许所有用户

4.3K10

Django REST Framework-权限

权限系统基于“允许访问用户”和“访问用户操作”进行配置,使您可以完全控制API访问级别。...在DRF中,权限是通过Permission类实现,Permission类是一个抽象类,定义了几种方法来控制API访问权限。...AllowAny AllowAny是默认权限类,不需要任何认证即可访问API视图。该权限非常适合用于公共API,新闻或博客文章阅读视图。...这是一种比较常见权限类型,适用于需要保护数据但允许读取情况。除了以上这些默认权限类型,DRF还提供了一些自定义权限类,使您可以更好地控制API访问级别。...如果未通过身份验证,DRF将返回一个HTTP 401 Unauthorized响应。在get方法中,我们还演示了如何使用request对象获取已通过身份验证用户和凭据。

60320

【Django-DRF】使用md笔记 0基础到高手. 第(4)篇:使用Django-DRF进行开发

-> 保存数据库 -> 将保存对象序列化并返回 * **查** :查询数据库 -> 将数据序列化并返回 Django REST framework 可以帮助我们简化上述两部分代码编写,大大提高REST...、类视图、视图集合到自动生成 API,满足各种需要; 多种身份认证和权限认证方式支持; 内置了限流系统; 直观 API web 界面; 可扩展性,插件丰富 DRF工程搭建 环境安装与配置 DRF需要以下依赖...见识DRF魅力 我们仍以在学习Django框架时使用图书英雄为案例,使用Django REST framework快速实现图书REST API。 1....ModelViewSet): queryset = BookInfo.objects.all() serializer_class = BookInfoSerializer queryset 指明该视图集在查询数据时使用查询...Serializer序列化器 序列化器作用: 进 行数据校验 对 数据对象进行转换 未完待续 下一期下一章 完整笔记请看文章开头

25030

实践|随机森林中缺失值处理方法

除了在网上找到一些过度清理数据之外,缺失值无处不在。事实,数据越复杂、越大,出现缺失值可能性就越大。缺失值是统计研究一个令人着迷领域,但在实践中它们往往很麻烦。...我选择 DRF 是因为它是随机森林一个非常通用版本(特别是,它也可以用来预测随机向量 Y),而且因为我在这里有些偏见。MIA实际是针对广义随机森林(GRF)实现,它涵盖了广泛森林实现。...特别地,由于DRF在CRAN实现基于GRF,因此稍作修改后,也可以使用MIA方法。 当然,请注意,这是一个快速修复(据我所知)没有理论保证。根据缺失机制,分析可能会严重偏差。...例子 需要指出是,CRAN drf 包尚未使用最新方法进行更新。将来有一天,所有这些都将在 CRAN 一个包中实现。...如何在多个 Linux 服务器运行多个命令 比较基因组:点图介绍与可视化 如何在 Linux 中使用 Bash For 循环 Reference [1] Source: https://towardsdatascience.com

20220

Django REST Framework-如何使用过滤器

Django REST Framework (DRF) 是一个开源 Web 框架,它建立在 Django ,可以帮助你轻松地构建 RESTful API。...这些过滤器可以用于所有的 DRF 视图,包括基于函数视图和基于视图。你只需要将过滤器添加到视图 filter_backends 属性中就可以了。...要编写自定义过滤器,你需要继承 rest_framework.filters.BaseFilterBackend 类,并实现 filter_queryset 方法。...我们实现了 filter_queryset 方法来对查询进行过滤。在这个例子中,我们使用 queryset.filter() 方法过滤出价格大于等于 10 书籍。...我们还展示了如何在视图集合中使用这些过滤器,并提供了一些例子来帮助你更好地理解它们用法。

1.9K40

美多商城项目(五)

并且在查询出数据,返回结果之前,先将查询结果存到缓存中,便于下次使用。 2.2使用缓存 在Django REST framework中使用缓存,可以通过 drf-extensions扩展来实现。...装饰器来装饰返回数据类视图对象方法, class CityView(views.APIView): @cache_response() def get(self, request,...注意,cache_response装饰器既可以装饰在类视图中get方法,也可以装饰在REST framework扩展类提供list或retrieve方法。...除了instance和data参数外,在构造Serializer对象时,还可通过context参数额外添加数据, serializer = AccountSerializer(account, context...总结回顾 1.视图集对象action属性使用场景 重写getserializerclass和get_queryset,根据不同action操作,返回不同序列化器和不同查询

1.1K30

DRF系列总结一:DRF是啥?为啥子要用?

API,并且可以通过这个页面测试这些API 你不用自己写一套接口鉴权代码了 你不用自己写大量CRUD接口了,简单配置即可 你不用自己写大量条件查询接口了,简单配置即可 你不用自己写后台分页逻辑了,简单配置即可...image.png 再来看这张图,借助DRF,我们可以将接口开发过程规范化,形成一个统一代码工作流:Serializers负责数据序列化和反序列化,结合Validators可以低成本实现参数校验...、Permissions负责权限校验、Routers负责路由自动注册、通过重写框架定义函数,还可以统一接口返回格式及异常处理等。...通过Django+DRF,我们还可以很快速配置出一套Django模型CRUD接口,将一些开发工作变成配置工作,借助一些DRF周边工具,django_filters,可以快速实现模型数据过滤类接口...接下来,我不打算直接介绍DRF知识点,而是从“安装DRF”开始,在蓝鲸应用开发框架基础,一步一步地配置好“DRF脚手架”,并在脚手架基础,一点点地总结工作中使用DRF技巧,希望能帮助到一些蓝鲸应用开发同学们

9.3K114

【愚公系列】2022年04月 Python教学课程 62-DRF框架介绍

文章目录 一、DRF简介 二、DRF特点 三、DRF增删改查 一、DRF简介 Django REST framework框架是一个用于构建WebAPl强大而又灵活工具。...通常简称为DRF框架或REST framework。 DRF框架是建立在Django框架基础之上,由Tom Christie大牛二次开发开源项目。...提供了丰富类视图、Mixin扩展类,简化视图编写。 丰富定制层级:函数视图、类视图、视图集合到自动生成API,满足各种需要。 多种身份认证和权限认证方式支持。 内置了限流系统。...在开发RESTAP视图中,虽然每个视图具体操作数据不同,但增、删、改、查实现流程基本套路化,所以这部分代码也是可以复用简化编写: 增:校验请求数据->执行反序列化过程->保存数据库->将保存对象序列化并返回...删:判断要删除数据是否存在->执行数据库删除 改:判断要修改数据是否存在一>校验请求数据->执行反序列化过程>保存数据库->将保存对象序列化并返回 查:查询数据库->将数据序列化并返回 Django

52220
领券