drf--------频率组件

news/2024/11/20 13:26:51/

# 限制访问频次
    -比如某个接口,一分钟只能访问5次,超过了就得等
    -按IP地址  限制
    -按用户id  限制
    
# 频率类的使用步骤
    1 写个类,继承:SimpleRateThrottle
    2 重写某个方法:get_cache_key
        -可以返回ip或用户id
        -返回什么,就以什么做频率限制
        
    3 写一个类属性,随意命名一个名
        scope = 'lqz'
    4 在配置文件中配置:
     'DEFAULT_THROTTLE_RATES': {
        'lqz': '3/m' # 一分钟访问3次
    },
        
        
   5 全局用
    'DEFAULT_THROTTLE_CLASSES': [

        ],
   6 局部用
    class BookView(APIView):
        throttle_classes = [MyThrottle]

 频率类

from rest_framework.throttling import SimpleRateThrottleclass MyThrottle(SimpleRateThrottle):scope = 'lqz'def get_cache_key(self, request, view):# 返回客户端ip地址:ip=request.META.get('REMOTE_ADDR')print('客户端的ip是:',ip)return ip

配置文件

REST_FRAMEWORK = {'DEFAULT_AUTHENTICATION_CLASSES': [      #认证类'app01.auth.LoginAuth'],'DEFAULT_PERMISSION_CLASSES': ['app01.permission.AdminPermission'     #权限类],'DEFAULT_THROTTLE_RATES': {'lqz': '3/m'                 #lqz   要和上面的scope 参数的对应。一分钟访问三次},
'DEFAULT_THROTTLE_CLASSES': [          #频率类],}

http://www.ppmy.cn/news/82811.html

相关文章

多模态大模型时代下的文档图像智能分析与处理

多模态大模型时代下的文档图像智能分析与处理 0. 前言1. 人工智能发展历程1.1 传统机器学习1.2 深度学习1.3 多模态大模型时代 2. CCIG 文档图像智能分析与处理论坛2.1 文档图像智能分析与处理的重要性和挑战2.2 文档图像智能分析与处理高峰论坛2.3 走进合合信息 3. 文档图像智…

杂记阅读(三)

目录 校徽和校训 权杖 学术竞赛与荣誉 香港罗德学人 中国大陆罗德学者 富布赖特项目 海外 学友 本土发展 海外扩展 史匹爾財富管理調查 880年,悉尼大学获得了一笔可观的捐赠。富商和慈善家约翰亨利查雷斯在遗嘱中将他的大部分遗产赠予悉尼大学。经过身为…

面试:vue事件绑定修饰符

stop - 调用 event.stopPropagation()。 prevent - 调用 event.preventDefault()。 trim 自动过滤用户输入的首尾空格 number 将输出字符串转为Number类型 enter 回车键 capture - 添加事件侦听器时使用 capture 模式。 self - 只当事件是从侦听器绑定的元素本身触发时才触发…

SpringBoot调取OpenAi接口实现ChatGpt功能

很高兴和大家分享我实现的一个小项目,利用 Spring Boot 实现了一个 ChatGpt 对话系统。在本文中,我将详细介绍这个项目的实现步骤,以及代码实现。 什么是 ChatGpt ChatGpt 是一种基于 GPT 技术的对话系统,能够生成连贯、流畅、…

2023年NOC大赛创客智慧编程赛项图形化复赛模拟题二,包含答案解析

2023年NOC大赛创客智慧编程赛项图形化复赛模拟题二,包含答案解析 第一题: 在源程序“小蝙蝠”文件中,实现小蝙蝠遇到不同的角色会说不同的话,以及切换不同的造型要求: 1:游戏开始时,小蝙蝠角色是造型 a,并能够用键盘控制上、下、左、右移动; 2:移动小蝙蝠,距离角色雪…

STM32cubemx配置驱动DHT11模块

文章目录 前言一、DHT11模块介绍二、DHT11引脚连接及cubemx配置三、DHT11时序分析四、DHT11代码编写总结 前言 本篇文章将带大家学习使用DHT11湿温度模块,使用这个模块可以获取当前的温度和湿度数据。DHT11可以用于智能家居,蔬菜大棚等项目当中适用范围…

DirectX12环境配置(1)

开发环境:visual studio 2022 第一种配置DirectX12环境得方式。首先创建一个c得空项目,然后创建一个main.cpp文件。把下面这串代码放进去,先不用管这串代码什么意思,后面会逐行逐句得讲解,因为我们创建得是空项目&am…

【完全卸载jupyter notebook】使用pip-autoremove卸载一个库的同时卸载其依赖

使用场景 我想完全卸载jupyter notebook,根据网上的方法,只需要执行这两条命令: pip install pip-autoremove pip-autoremove jupyter -y但是在执行第二条命令的时候报错了。 报错信息 (venv_dl) C:\PyCode\venv_dl\Scripts>pip insta…