Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python DRF自定义油门速率不小于';不起作用,默认速率起作用_Python_Django_Django Rest Framework - Fatal编程技术网

Python DRF自定义油门速率不小于';不起作用,默认速率起作用

Python DRF自定义油门速率不小于';不起作用,默认速率起作用,python,django,django-rest-framework,Python,Django,Django Rest Framework,我正在尝试将所有用户的限制速率设置为每15分钟100个请求 问题是,当我覆盖anoratethrottle和userratetrottle时,节流根本不起作用 REST_FRAMEWORK = { 'DEFAULT_FILTER_BACKENDS': ['django_filters.rest_framework.DjangoFilterBackend'], 'DEFAULT_THROTTLE_CLASSES': [ 'rest_framework.thrott

我正在尝试将所有用户的限制速率设置为每15分钟100个请求

问题是,当我覆盖
anoratethrottle
userratetrottle
时,节流根本不起作用

REST_FRAMEWORK = {
    'DEFAULT_FILTER_BACKENDS': ['django_filters.rest_framework.DjangoFilterBackend'],
    'DEFAULT_THROTTLE_CLASSES': [
         'rest_framework.throttling.AnonRateThrottle',
         'rest_framework.throttling.UserRateThrottle'
     ],
     'DEFAULT_THROTTLE_RATES': { # I've lowered the rates to test it
         'anon': '2/min',
         'user': '2/min'
     }

}
工作完美

这不起作用:

REST_FRAMEWORK = {
    'DEFAULT_FILTER_BACKENDS': ['django_filters.rest_framework.DjangoFilterBackend'],
    'DEFAULT_THROTTLE_CLASSES': [
        'api.throttle_rates.AnonHundredPerFifteenMinutesThrottle',
        'api.throttle_rates.UserHundredPerFifteenMinutesThrottle',
    ],
}

   
api.节流率

     from rest_framework.throttling import AnonRateThrottle, UserRateThrottle

    class AnonHundredPerFifteenMinutesThrottle(AnonRateThrottle):
        def parse_rate(self, rate):
            return (2, 60)
    
    
    class UserHundredPerFifteenMinutesThrottle(UserRateThrottle):
        def parse_rate(self, rate):
            return (2,60)
您知道问题出在哪里吗?

如果您查看函数

self.rate
始终为
None
,因为您没有设置它, 因此,请求是允许的