浅谈Django REST Framework限速

yipeiwu_com7年前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移位运算的实现

密码算法程序设计实践选的SHA-1。 在写的过程中遇到一丢丢关于python移位的问题,记录一下。 SHA-1其中第一步需要填充消息。简单阐述一下sha1填充消息的过程: 如输入消息“...

python pyinstaller打包exe报错的解决方法

python pyinstaller打包exe报错的解决方法

今天用python 使用pyinstaller打包exe出现错误 环境pyqt5 + python3.6 32位 在导入pyqt5包之前加上如下代码 import sys impo...

用python画一只可爱的皮卡丘实例

用python画一只可爱的皮卡丘实例

效果图 #!/usr/bin/env python # -*- coding:utf-8 -*- from turtle import * ''' 绘制皮卡丘头部 ''' de...

Python文件操作之合并文本文件内容示例代码

Python文件操作之合并文本文件内容示例代码

前言 相信大家初入某个项目,一般都要看代码。有时候,想把代码文件打印下来看,不过一般代码文件数量都在两位数或更多,逐一打开、打印,确实太耗费精力了,此外,也会出现某个代码文件打印到纸上只...

Python实现重建二叉树的三种方法详解

Python实现重建二叉树的三种方法详解

本文实例讲述了Python实现重建二叉树的三种方法。分享给大家供大家参考,具体如下: 学习算法中,探寻重建二叉树的方法: 用input 前序遍历顺序输入字符重建 前序遍历顺序字...