Django REST framwork
文章平均质量分 72
django REST framwork
shark_西瓜甜
80后运维、运维开发职业从事者
展开
-
Django4.2(DRF)+Vue3 读写分离项目部署上线
说明:读写分离项目 Django中是没有静态文件的,这里的静态文件是 Djngo 中集成的后台管理的 admin 和 api 文档应用使用的静态文件。这个 dist 目录需要给到 nginx ,具体配置见第 3 章节的 Nginx。说明: 配置文件中 sharkplat 是 程序的后端主机名。构建完成后,项目根目录下会出现打包后的目录 dist。镜像使用的是 nginx:1.20.2-alpine。进入前端项目的根目录,运行如下命令进行构建。这个是临时使用,做好自己编写视图实现。原创 2024-01-30 14:31:46 · 651 阅读 · 0 评论 -
Django rest froamwork-序列化关系
在极少数情况下,现有的关系样式都不适合您需要的表示形式,您可以实现一个完全自定义的关系字段,该字段准确地描述了如何从 model instance 生成输出表示形式。要实现自定义关系字段,您应该重写,并实现方法。此方法将字段的目标作为值参数,并应返回用于序列化目标的表示形式。值参数通常是一个模型实例。如果要实现读写关系字段,还必须实现方法。要提供基于上下文的动态查询集,还可以重写,而不是在类上或初始化字段时指定.queryset。原创 2023-12-03 23:08:01 · 1109 阅读 · 0 评论 -
Django rest froamwork-HyperlinkedModelSerializer
HyperlinkedModelSerializer类与ModelSerializer类类似,不同之处在于它使用超链接来表示关系,而不是主键。默认情况下,序列化程序将包括一个url字段,而不是主键字段。url字段将使用序列化程序字段来表示,模型上的任何关系都将使用序列化器字段来表示。原创 2023-12-03 16:50:10 · 553 阅读 · 0 评论 -
DRF-序列化-Serializers
一种常见的情况是,如果您使用的序列化程序包含超链接关系,这要求序列化程序能够访问当前请求,以便正确生成完全限定的URL。前面的例子适用于处理只有简单数据类型的对象,但有时我们也需要能够表示更复杂的对象,其中对象的一些属性可能不是简单的数据类型,如字符串、日期或整数。因为嵌套创建和更新的行为可能是不明确的,并且可能需要相关模型之间的复杂依赖关系,所以REST框架 3 要求您始终显式地编写这些方法。方法名称可能没有意义。在处理支持反序列化数据的嵌套表示时,嵌套对象的任何错误都将嵌套在嵌套对象的字段名下。原创 2023-12-03 14:28:52 · 943 阅读 · 0 评论 -
Django4.2-使用mysql8
【代码】Django4.2-使用mysql8。原创 2023-07-27 14:51:26 · 374 阅读 · 0 评论 -
Django REST framwork_01_部署
文章目录1. 依赖包介绍2. 安装核心包和依赖包3. 注册应用到项目中4. 浏览器的登录验证1. 依赖包介绍coreapi (1.32.0+) - Schema generation support.Markdown (3.0.0+) - Markdown对可浏览API的支持.Pygments (2.4.0+) - 为Markdown处理添加语法高亮显示.django-filter (1.0.1+) - 过滤支持.django-guardian (1.1.1+) - 对象级权限支持2.原创 2021-06-21 23:17:24 · 115 阅读 · 0 评论 -
Django REST framwork-02-序列化
文章目录一、 Serialization (序列化)序列化官方教程1.`Serializer`① 创建一个用于序列化数据的类② 视图中使用序列化的类示例 model视图③ 添加 URL④ 重启 Django 进程,在浏览器中测试2. `ModelSerializer`示例 model① 创建基于 Model 的序列化类② 视图中使用③ 配置 URL④ 重启 Django 进程,在浏览器中测试一、 Serialization (序列化)序列化官方教程DRF 的 Serialization 和 Dja原创 2021-06-21 23:20:00 · 131 阅读 · 0 评论 -
Django REST framwork-03-使用mixin和基于类的通用(generics)视图
文章目录一、 mixins 和 generics.GenericAPIView示例 model编写类视图generics.GenericAPIView 提供了更多的属性,从而让开发人员写更少的代码,实现更多的功能。这些属性包括但不限于:配置 URL重启 Django 测试查看页面格式的 API查看 JSON 格式的 APIJSON 数据如下关于 mixin 和基础核心类基类提供核心功能,就是处理请求和响应,有 `as_view` 方法。`mixin` 类提供 `.list()`操作, 就是处理数据,提供.原创 2021-06-21 23:25:07 · 208 阅读 · 0 评论 -
Django REST framwork-04-分页
文章目录DRF 配置项的设置位置如何设置分页注意: 只有在使用通用视图(generics.GenericAPIView)或视图集时(viewsets.GenericViewSet) ,才会自动执行分页。如果使用常规 `APIView`,则需要自己编写分页逻辑, 以确保返回含有分页的响应。设置默认分页类和页面大小自定义分页样式1. 编写分页样式类2. 如何使用2.1 全局使用2.2 给某个视图使用2.3 URL 配置2.4 效果图Django提供了一些类来帮助您管理分页数据 - 即分布在多个页面上的数据,使原创 2021-06-21 23:26:30 · 178 阅读 · 0 评论 -
Django REST framwork-05-序列化关系
文章目录示例 Model`OneToOneField` 一对一`HyperlinkedRelatedField`serializers`many=False` 一对一关系时需要设置为 `False`, 这是默认值,但建议显示传递(易读)。`ForeignKey` 多对一嵌套关系的序列化serializers`many=True` 用于 多对一关系多对多示例 Model# 资产表class Asset(models.Model): """ 资产信息表,所有资产公共信息(交换机,服务器,原创 2021-06-21 23:27:35 · 129 阅读 · 0 评论 -
Django REST framwork-06-使用 ViewSets 视图集和 Routers 路由
文章目录`GenericViewSet`返回一组列表数据定义视图注册路由访问`ReadOnlyModelViewSet`查一组列表数据和具体一个对象的详情数据(字典类型)源码`ModelViewSet`源码`ModelViewSet` 源码`GenericViewSet` 源码GenericViewSet重写了 .as_view 方法,和 DRF 的 Routers 结合,可以简化路由配置。返回一组列表数据定义视图from rest_framework import viewsets.原创 2021-06-21 23:28:40 · 238 阅读 · 0 评论 -
Django REST framwork-07-过滤、搜索和排序
REST框架的通用列表视图的默认行为是返回模型管理器的整个查询集。筛选子类的任何视图的查询集的最简单方法是覆盖该GenericAPIView 的 .get_queryset() 方法。基于 URL 传递的参数过滤URL 请求视图URL 传递的参数会在 self.kwargs 或者 self.args 中基于 GET 方法中的参数过滤URL 请求视图GET 方法传参是在 中,这是一个字典。通用过滤器(重点掌握)REST框架还包括对通用过滤后端的支持,允许您轻松构建复杂的原创 2023-08-06 15:31:21 · 32 阅读 · 0 评论 -
Django REST framework -8- 用户认证基础
前后端分离之JWT用户认证文章目录前后端分离之JWT用户认证Json Web Token(JWT)JWT 组成Header 头部Payload 负载Signature 签名JWT 使用资源来源于网络https://lion1ou.win/2017/01/18/前后端分离之认证文章目录传统方式Json Web Token(JWT)2.1. JWT 组成JWT 使用和Session方式存储id的差异总结在前后端分离开发时为什么需要用户认证呢?原因是由于HTTP协定是不储存状态的(原创 2020-09-11 19:10:10 · 960 阅读 · 0 评论 -
Django REST framework -9-登录验证JWT实践
文章目录Django rest framwork jwt1. 安装注意:切换到自己项目的 Python 环境中进行安装2. 使用2.1 全局设置使用2.2 视图设置使用配置 URL设置 Tocken 有效时间和认证 token 信息的前缀postman 工具创建postman请求获取 token使用 JWT tokencurl 工具Django rest framwork jwthttp://jpadilla.github.io/django-rest-framework-jwt/1. 安装注意:原创 2020-09-11 19:16:01 · 1022 阅读 · 1 评论 -
Django REST framwork-11-权限验证
上面的示例可以修改为当用户处于某个运维组的时候,允许 POST 请求,其他人运行只读的 GET,HEAD 或 OPTONS 请求。此权限不是严格要求的,因为您可以通过将空列表或元组用于权限设置来获得相同的结果,但是您可以发现指定该类很有用,因为它使意图明确。如果您希望您的API允许匿名用户具有读取权限,而只允许经过身份验证的用户具有写入权限,则此权限非常适合。比如,官方文档中的示例,可以实现只允许当前用户的拥有者修改指定的资源。如果只希望一部分受信任的管理员可以访问您的API,则此权限很合适。原创 2023-08-06 16:46:56 · 8 阅读 · 0 评论