drf 频率组件使用

局部使用:

 

首先:环境配置:  

pip3 install django-restframework

在app中添加 

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
  添加rest_framwork
'rest_framework',
'movie.apps.MovieConfig',
]

 

第一步:

from rest_framework.throttling import SimpleRateThrottle
class VisitThrottle(SimpleRateThrottle):
    scope = 'luffy' #这里的luffy指的是setting的luffy,每minute允许访问的次数
    def get_cache_key(self, request, view):
        return self.get_ident(request)

 

第二步:在 settings中配置

REST_FRAMEWORK = {
    'DEFAULT_THROTTLE_RATES':{
        'luffy':'3/m' 每minute允许访问3次
    }
}

第三步 :在类视图函数中使用(类视图函数必须继承APIview)

class Book(APIview):

  throttle_classes = [VisitThrottle,] #这个函数限制每分钟访问3次

  def get(self,request,*args,**kwargs)

    pass

  def post(self,request,*args,**kwargs)

    pass

 

posted @ 2019-08-04 19:04  鱼哥叼啊  阅读(158)  评论(0编辑  收藏  举报