Clark的知识星球
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  • 友链
DRF组件之限流

DRF组件之限流

一、限流组件介绍1. 限流功能简介1.1 限流的作用为了对用户的访问行为进行限制,例如普通用户和会员用户对同一接口允许访问的次数不一样,或避免用户恶意压测接口对服务进行攻击,后台提供的 API 接口应当对用户进行限流。 1.2 限流功能实现的原理 第一步,后台会对访问的用户进行一个身份标识 对于匿名用户(未登录),使用用户 IP 作为唯一标识 对于登录用户,使用用户 ID 或名称作为唯一标识
2023-04-28
django学习
#python #django #django_restful_framework
DRF组件之权限

DRF组件之权限

一、权限组件介绍1. 用户权限的作用在一个系统中,每个用户都应该有一个或多个角色,如普通用户、管理员、会员、超级会员等等,不同的角色有着不同的权限。drf 中提供了权限操作的组件,可以帮助开发者对不同角色进行相应的业务处理。 权限操作的前提是必须知道当前登录用户是谁,因此权限组件往往是和用户认证组件联合使用的。 2. 权限组件的使用2.1 编写数据表模型1234567891011121314151
2023-04-22
django学习
#python #django #django_restful_framework
DRF组件之认证

DRF组件之认证

一、认证组件介绍1. 用户认证的作用在开发后端 API 时,要考虑不同的功能会有不同限制的场景,例如: 无需认证,就可以访问并获取数据(游客模式) 需认证,用户先登录,后续发送请求要携带登录时发放的凭证 django 中可以借鉴装饰器、中间件等对所有接口执行之前先进行用户身份认证。drf 中直接提供了用户认证的组件,可以帮助我们快速高效的完成用户身份识别功能。 2. 认证组件的使用2.1 编写
2023-04-18
django学习
#python #django #django_restful_framework
DRF组件之版本管理

DRF组件之版本管理

一、版本传递的五种方式1. URL的GET参数传递版本1.1 基本用法 在视图类中引入 rest_framework.versioning 下的 QueryParameterVersioning 类 12345678910111213141516171819# views.pyfrom rest_framework.views import APIViewfrom rest_framework.
2023-04-12
django学习
#python #django #django_restful_framework
DRF 请求数据封装

DRF 请求数据封装

一、请求对象的区别1. Django 中的请求对象通过 Django 进行项目开发时,视图层方法或者视图类中的方法都会接收一个 request 对象参数 1234from django.http import JsonResponsedef query_user(request): return JsonResponse("OK") 该 request 对象是 djan
2023-04-08
django学习
#python #django #django_restful_framework
DRF的使用

DRF的使用

一、DRF 简介django restframework(简称drf)是一套基于 Django 的 restful 风格框架,里面集成了很多 restful API 相关的便捷功能。 官网地址:https://www.django-rest-framework.org/ 二、DRF 快速上手1. 安装由于 DRF 是基于 Django 的,因此使用前必须先安装 Django,且对版本有一
2023-04-05
django学习
#python #django #django_restful_framework
Restful 开发规范介绍

Restful 开发规范介绍

一、Web开发前后端模式1. 前后端不分离前后端不分离的开发模式,常见于早期的 Web 开发中(现在也有部分网站延用该模式)。在该模式下,前端人员只需要构建好页面结构样式,提供页面模板即可;后端人员除了要编写相关后台的业务处理接口,还需要根据前端模板将数据进行填充渲染。因此该模式下,前后端的开发关联性较强,比较适合开发用户量少、简单的项目。 12345678特点: - 用户访问 URL
2023-04-04
django学习
#python #django #django_restful_framework
Django之中间件

Django之中间件

一、中间件介绍​ 我们在最开始介绍 django 生命周期的时候提及到过,浏览器发出的请求并不是直接到达路由层,视图层处理完的结果也不是直接返回浏览器的,都要经过中间件的处理。中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出。因为改变的是全局,所以需要谨慎实用,用不好会影响到性能。 对于中间件的配置可以在项目中
2020-04-27
django学习
#python #django
Django之用户认证

Django之用户认证

一、用户认证机制的简单了解​ 我们之前已经学会使用会话跟踪技术来实现对用户的相关管理,那为什么 django 还要专门提供一套用于管理用户的组件呢?这是因为只单纯的使用会话技术会存数据混乱的问题。比如,用户A在会话中保存了姓名、邮箱、登陆状态三个属性,用户B只要姓名和登陆状态两个属性,此时换成用户B登录,只会把会话中的姓名和登陆状态覆盖,邮箱信息还会保留用户A的。 ​ 为了方便管理用户认证相关
2020-04-26
django学习
#python #django
Django之会话

Django之会话

一、会话跟踪技术1.1 HTTP 协议的无状态保存​ 现在有这样一个需求,用户先通过网站的登陆页面进行登录,之后用户再去访问网站的其他页面或者模块,我们怎么才能知道该用户是已经登陆过的呢?显然只依靠 HTTP协议自身是无法实现这一点的,HTTP协议本身无法保存用户的状态,请求与请求之间是没有任何关系的。 1.2 会话跟踪​ 什么是会话?可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中
2020-04-23
django学习
#python #django
1234

搜索