浅谈Django REST Framework限速

yipeiwu_com5年前Python基础

官方文档

settings.py配置

REST_FRAMEWORK = {
  'DEFAULT_THROTTLE_CLASSES': (
    'rest_framework.throttling.AnonRateThrottle',
    'rest_framework.throttling.UserRateThrottle'
  ),
  'DEFAULT_THROTTLE_RATES': {
    'anon': '100/day',
    'user': '1000/day'
  }
}

AnonRateThrottle:用户未登录请求限速,通过IP地址判断

UserRateThrottle:用户登陆后请求限速,通过token判断

DEFAULT_THROTTLE_RATES 包括 second, minute, hour, day

引用样例:

from rest_framework.response import Response
from rest_framework.throttling import UserRateThrottle
from rest_framework.views import APIView
class ExampleView(APIView):
  throttle_classes = (UserRateThrottle,)
  def get(self, request, format=None):
    content = {
      'status': 'request was permitted'
    }
    return Response(content)

总结

以上就是本文关于浅谈Django REST Framework限速的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

详解Python3迁移接口变化采坑记

1、除法相关 在python3之前, print 13/4 #result=3 然而在这之后,却变了! print(13 / 4) #result=3.25 "/”符号运算...

在Python中获取操作系统的进程信息

在Python中获取操作系统的进程信息

本文主要介绍在 Python 中使用 psutil 获取系统的进程信息。 1 概述 psutil 是 Python 的一个进程和系统工具集模块,通过使用 psutil,我们可以在 Py...

PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例

概要 应同学邀请,演示如何使用 PyQt5 内嵌浏览器浏览网页,并注入 Javascript 脚本实现自动化操作。 下面测试的是一个廉价机票预订网站(http://www.flyscoo...

python Django 创建应用过程图示详解

python Django 创建应用过程图示详解

如图输入如下命令 python manage.py startapp apitest 添加应用到 autotest项目项目下 在settings.pyo 中加入“apitest”...

Python中encode()方法的使用简介

 encode() 方法返回字符串的编码版本。默认编码是当前的默认字符串编码。可给予设置不同的错误处理机制。 语法 以下是encode()方法的语法: str.encode...