4.5k 4 分钟

# 1.JWT 安装配置 安装 JWT pip install djangorestframework-jwt==1.11.0 在 settings.py 配置 jwt 载荷中的有效期设置 # jwt 载荷中的有效期设置JWT_AUTH = { # 1.token 前缀:headers 中 Authorization 值的前缀 'JWT_AUTH_HEADER_PREFIX': 'JWT', # 2.token 有效期:一天有效 'JWT_EXPIRATION_DELTA':...
3.5k 3 分钟

# Json Web Token # 什么是 JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于 JSON 的开放标准 (RFC 7519). 该 token 被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT 的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该 token 也可直接被用于认证,也可被加密。 说起 JWT,我们应该来谈一谈基于 token 的认证和传统的 session 认证的区别。 # 传统的...
1.9k 2 分钟

# OAuth2.0 为何物 OAuth 简单理解就是一种授权机制,它是在客户端和资源所有者之间的授权层,用来分离两种不同的角色。在资源所有者同意并向客户端颁发令牌后,客户端携带令牌可以访问资源所有者的资源。 OAuth2.0 是 OAuth 协议的一个版本,有 2.0 版本那就有 1.0 版本,有意思的是 OAuth2.0 却不向下兼容 OAuth1.0 ,相当于废弃了 1.0 版本。 举个小栗子解释一下什么是 OAuth 授权? 在家肝文章饿了定了一个外卖,外卖小哥 30...
2.3k 2 分钟

# 概述 RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计。 核心是面向资源:对象的单个实例。 例如,一只动物。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的实在。你可以用一个 URL(统一资源定位符)指向它,每种资源对应一个特定的 URL。要获取这个资源,访问它的 URL 就可以,因此 URL 就成了每一个资源的地址或独一无二的识别符。 主要有请求方式、状态码、URL 规范、传参规范 # 请求方式 GET (SELECT):从服务器取出资源(一项或多项)POST (CREATE):在服务器新建一个资源PUT...
4.5k 4 分钟

# 创建单表模型类 class Goods(models.Model): goods_name = models.CharField(max_length=32) goods_price = models.DecimalField(max_digits=9,decimal_places=2) goods_num = models.IntegerField() class Meta: db_table = 'tb_goods'# ORM 基本操作 class ORMView(APIView): def get(self,request): # 单一查询,如果结果不存在报错...
8.3k 8 分钟

# 1. 序列化 DRF 的核心 就是 前后端分离的核心 前后端分离开发的核心: 将模型转换为 json 称之为 序列化 将 json 转换成模型 称之为 反序列化 # 1.1 序列化器的字段 Serializer 序列化器 为了得到模型里的字段,序列化器中的字段应与模型类中的字段名一致 ''' serializers.py ''' class BookInfoSerializer(serializers.Serializer): # read_only=True 只能读 不能修改 id =...
2.3k 2 分钟

# Django 三种风格的模型继承 抽象类继承:父类继承自 models.Model,但不会在底层数据库中生成相应的数据表(在 Meta 方法中添加 abstract=True ),父类的属性列存储在其子类的数据表中。 多表继承:夺标继承的每个模型类都在底层数据库中生成相应的数据表管理数据。 代理模型继承:父类用于在底层数据库中管理数据表;而子类不定义数据列,只定义查询数据集的排列方式等元数据 # 1. 抽象类 (基类,公共类) 继承 抽象类,指的是继承了 model.Model...