Django REST framework
文章平均质量分 78
Django REST framework(简称DRF)是一个构建在Django之上的开源框架,专为快速开发RESTful风格的Web APIs而设计。它由Tom Christie开发,旨在简化API开发过程,同时保持高度的灵活性和扩展性
yjjpp2301
这个作者很懒,什么都没留下…
展开
-
Django REST Framework(二十)限流
如果需要为特定用户组或访问类型定义不同的限流策略,可以结合进行自定义。'rest_framework.throttling.ScopedRateThrottle', # 使用ScopedRateThrottle来实现自定义限流],'anon': '2/day', # 游客访问频率'user': '5/day', # 普通用户访问频率'vip': '10/day', # VIP用户访问频率在视图中可以指定throttle_scope = "vip" # 适用于VIP用户的限流。原创 2024-08-28 13:26:31 · 333 阅读 · 0 评论 -
Django REST Framework(十九)权限
在 Django 项目的配置文件中,可以全局配置 DRF 的权限管理类。这种设置适用于整个项目中的所有视图。默认情况下,如果不做任何配置,DRF 会允许所有用户访问视图(AllowAny'rest_framework.permissions.IsAuthenticated', # 仅允许已通过身份认证的用户访问在此配置下,所有视图都会默认要求用户通过身份认证,否则无法访问。有时内置的权限类不能满足所有需求,此时可以通过继承类来创建自定义权限类。:判断用户是否有权访问视图。原创 2024-08-27 08:41:30 · 510 阅读 · 0 评论 -
Django REST Framework(十八)认证
我们可以通过创建自定义认证类来实现项目特定的认证需求。"""自定义认证类"""try:return (user, None) # 返回格式必须是 (user, auth) 或 None自定义权限类可以让你根据特定条件来控制访问权限。"""自定义权限类"""通过以上详细的示例,可以更好地理解如何在 Django REST framework 中配置和应用权限和认证。这包括全局配置、自定义认证和权限类、在视图中应用这些类以及配置路由。原创 2024-08-05 08:52:52 · 408 阅读 · 0 评论 -
Django REST Framework(十七)Authentication
在一些特定场景中,可能需要自定义认证方式。以下是一个自定义认证的示例,位于""" 自定义认证方式 """""" 认证方法 request: 本次客户端发送过来的HTTP请求对象 """if token!raise APIException("认证失败")return (user, token) # 按照固定的返回格式填写(用户模型对象, None)在视图中,可以通过设置"""单独设置认证方式"""原创 2024-07-31 08:40:10 · 312 阅读 · 0 评论 -
Django REST Framework(十六)路由Routes二
详解下SimpleRouter和DefaultRouter的区别。原创 2024-07-29 08:56:53 · 252 阅读 · 0 评论 -
Django REST Framework(十五)路由Routes
4.1在中定义模型4.2在中定义序列化器。原创 2024-07-29 08:50:06 · 733 阅读 · 0 评论 -
Django REST Framework(十四)路由Routes
Django 的路由系统(URLconf)用于将 URL 映射到相应的视图函数或类。在 Django 中,路由定义通常在应用的urls.py文件中进行。在在 Django 2.0 之前,路由是通过正则表达式定义的。虽然现在推荐使用path()方法,但仍然可以使用re_path()方法定义复杂的路由。上述路由使用正则表达式捕获 URL 中的年份部分,并作为year参数传递给视图函数。Django 的路由系统提供了灵活而强大的 URL 映射机制,使得开发者可以方便地定义和管理项目中的路由。原创 2024-07-30 08:00:00 · 675 阅读 · 0 评论 -
Django REST Framework(十三)视图集-GenericViewSet
Django REST Framework 中,`ModelViewSet` 和 `ReadOnlyModelViewSet` 提供了快速实现常见视图操作的便捷方法。它们分别继承自 `GenericViewSet` 并组合了多个 Mixin 类,使得视图的编写变得更加简单。原创 2024-07-22 13:45:00 · 912 阅读 · 0 评论 -
Django REST Framework(十二)视图集-GenericViewSet
是 Django REST Framework 中的一个类,它结合了和的功能。它的主要目的是简化视图代码,通过将独特的代码作为类属性进行抽象,使代码更加可复用。原创 2024-07-22 09:23:01 · 551 阅读 · 0 评论 -
Django REST Framework(十一)视图集-ViewSet权限验证
可能需要更复杂的权限控制逻辑。可以通过继承类来自定义权限类。""" 自定义权限类,只有对象的所有者才能编辑,否则只读 """# 读取权限允许任何请求,所以总是允许 GET、HEAD 或 OPTIONS 请求# 写入权限只允许对象的所有者。原创 2024-07-17 10:00:00 · 183 阅读 · 0 评论 -
Django REST Framework(十)视图集-ViewSet
如果你需要自定义某些行为,可以重写视图集的方法。# ...# ... 进行额外的过滤、排序或其他操作 ...def perform_create(self, serializer): # 自定义创建行为。原创 2024-07-17 08:00:00 · 969 阅读 · 0 评论 -
Django REST Framework(九)GenericAPIView视图子类
是 Django REST Framework (DRF) 中一个非常重要的类,它提供了常用的通用视图功能。通过继承,可以轻松地构建 RESTful API。原创 2024-07-16 09:19:59 · 292 阅读 · 0 评论 -
Django REST Framework(八)GenericAPIView5个视图扩展类
在Django REST Framework中,与多个Mixin类组合使用可以创建出功能丰富的视图。Mixin类提供了特定的行为,例如列表展示、创建、更新、删除等,而则提供了处理HTTP请求的基础结构。以下是五个常用的Mixin类,它们可以与结合list()create()retrieve()update()destroy()这五个扩展类需要搭配GenericAPIView通用视图基类,因为五个扩展类的实现需要调用GenericAPIView提供的序列化器与数据库查询的方法。原创 2024-07-15 14:48:44 · 476 阅读 · 0 评论 -
Django REST Framework(七)GenericAPIView视图
当前视图的请求对象。原创 2024-07-12 14:00:38 · 413 阅读 · 0 评论 -
Django REST Framework(六)模型序列化器
比如我们创建一个BookInfoSerializer"""图书数据序列化器"""model 指明参照哪个模型类fields 指明为模型类的哪些字段生成我们可以在python manage.py shell中查看自动生成的BookSerializer的具体实现。原创 2024-07-12 13:50:53 · 540 阅读 · 0 评论 -
Django REST Framework(五)DRF Serializer
Django REST framework中的Serializer使用类来定义,须继承自rest_framework.serializers.Serializer。接下来,为了方便演示序列化器的使用,我们先创建一个新的子应用serstitle = models.CharField(max_length=32,verbose_name="书籍名称")price = models.IntegerField(verbose_name="价格")原创 2024-07-01 09:11:13 · 977 阅读 · 0 评论 -
Django REST Framework(四)DRF APIVIEW
REST framework 传入视图的request对象不再是Django默认的HttpRequest对象,而是REST framework提供的扩展了HttpRequest类的类的对象。REST framework 提供了解析器,在接收到请求后会自动根据Content-Type指明的请求数据类型(如JSON、表单等)将请求数据进行parse解析,解析为类字典[QueryDict]对象保存到对象中。无论前端发送的哪种格式的数据,我们都可以以统一的方式读取数据。原创 2024-06-30 08:00:00 · 1365 阅读 · 0 评论 -
Django REST Framework(三)DRF
核心思想: 大量缩减编写api接口的代码Django REST framework是一个建立在Django基础之上的Web 应用开发框架,可以快速的开发REST API接口应用。在REST framework中,提供了序列化器Serialzier的定义,可以帮助我们简化序列化与反序列化的过程,不仅如此,还提供丰富的类视图、扩展类、视图集来简化视图的编写工作。REST framework还提供了认证、权限、限流、过滤、分页、接口文档等功能支持。原创 2024-06-29 08:00:00 · 1021 阅读 · 0 评论 -
Django REST Framework(二)Django的CBV
之前我们用的Django的视图函数叫FBV(也就是函数型视图函数),这里我们来试试CBV(类视图函数)的写法。类视图函数可以让代码看起来更简洁,用起来更方便。原创 2024-06-28 14:00:00 · 884 阅读 · 0 评论 -
Django REST Framework(一)前后端分离
api接口在工作中是比较常见的开发内容,有时候,我们会调用其他人编写的api接口,有时候,我们也需要提供api接口给其他人操作。为了在团队内部形成共识、防止个人习惯差异引起的混乱,我们都需要找到一种大家都觉得很好的接口实现规范,而且这种规范能够让后端写的接口,用途一目了然,减少客户端和服务端双方之间的合作成本。这种风格的理念认为后端开发任务就是提供数据的,对外提供的是数据资源的访问接口,所以在定义接口时,客户端访问的URL路径就表示这种要操作的数据资源。/ 修改一个学生的部分信息[age]原创 2024-06-28 09:45:37 · 1059 阅读 · 0 评论