浅谈Django REST Framework限速

yipeiwu_com6年前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限速的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

Python的一些用法分享

1)正则表达式的使用。 复制代码 代码如下: #正则表达式的模块 import re #正则表达式 rePattern = '.*[0-9]{4}' pattern = re.compi...

浅谈Python Opencv中gamma变换的使用详解

伽马变换就是用来图像增强,其提升了暗部细节,简单来说就是通过非线性变换,让图像从暴光强度的线性响应变得更接近人眼感受的响应,即将漂白(相机曝光)或过暗(曝光不足)的图片,进行矫正。 伽马...

Python基于Tkinter实现的记事本实例

本文实例讲述了Python基于Tkinter实现的记事本。分享给大家供大家参考。具体如下: from Tkinter import * root = Tk('Simple Edito...

解决pyinstaller打包发布后的exe文件打开控制台闪退的问题

解决步骤: 1、先打开一个cmd 2、cd到你的exe文件目录 3、输入    .\***.exe以上这篇解决pyinstaller打包发布后的exe文件打...

python文本数据处理学习笔记详解

python文本数据处理学习笔记详解

最近越发感觉到限制我对Python运用、以及读懂别人代码的地方,大多是在于对数据的处理能力。 其实编程本质上就是数据处理,怎么把文本数据、图像数据,通过python读入、切分等,变成一个...