zoukankan      html  css  js  c++  java
  • drf之频率器拓展

    一、作用:可以根据指定的特征限制访问频率。

    二、以ip限制器为例

      1、新建一个类,需要继承rest_framework.throttling.SimpleRateThrottle。

      2、重写get_cache_key,该方法的返回值就是限制器的限制特征。  

      3、代码:

    class NewThrottle(SimpleRateThrottle):
        scope='aaa'  # 特征字符,后续配置中需要以此字符设置频率
        def get_cache_key(self, request, view):
            return request.META.get('REMOTE_ADDR')  # 返回ip

      4、配置:

        ①全局配置,setting.py中:

    REST_FRAMEWORK={
        'DEFAULT_THROTTLE_CLASSES': ( 'utils.throttling.MyThrottle',),
        'DEFAULT_THROTTLE_RATES': { 'aaa': '3/m',},
    }

        ②局部配置,视图类中:

    default_throttle_classes = (NewThrottle1, NewThrottle2)
    default_throttle_rates = { 'aaa': '3/m', 'bbb': '6/m'}
  • 相关阅读:
    URL收藏
    web网站防攻击策略
    网络编程
    Tomcat
    UML学习
    大数据学习
    PHP学习
    SYNC CSDN
    在浏览器中打开本地程序
    内存管理工具,帮助检查内存泄露及野指针问题
  • 原文地址:https://www.cnblogs.com/caoyu080202201/p/13299404.html
Copyright © 2011-2022 走看看