当前位置: 首页 > news >正文

做网站需要注册商标是几类2017网站备案

做网站需要注册商标是几类,2017网站备案,网站规划与设计范文,wordpress 主题 相册在DRF中,限流发生在认证、权限之后,限流组件的使用步骤: 1、编写自定义限流类; 2、在settings.py中配置redis; 3、安装django-redis; 4、启动redis服务; 5、局部应用,一般是在核心的视图中使用&…
 

在DRF中,限流发生在认证、权限之后,限流组件的使用步骤: 1、编写自定义限流类; 2、在settings.py中配置redis; 3、安装django-redis; 4、启动redis服务; 5、局部应用,一般是在核心的视图中使用,不会全局使用。限流组件的应用案例如下:

一、自定义限流类,throttle.py,设计了 2个限流类,一个是针对匿名用户的限流,匿名用户的唯一标识选择IP地址;一个针对登录用户的限流,登录用户的唯一标识是用户名。

from rest_framework.throttling import SimpleRateThrottle
from django.core.cache import cache as default_cache# 限流组件,匿名用户访问,没有登录的用户,肯定是没有user的,直接获取IP地址
class IpThrottle(SimpleRateThrottle):scope = "ip"# 局部配置,一分钟访问10次;也可以配置到全局;# THROTTLE_RATES = {"ip": "10/m"}cache = default_cache  # default_cache 会读取配置文件中redis缓存的配置def get_cache_key(self, request, view):# 获取请求用户的IP地址(去request中找请求头)ident = self.get_ident(request)return self.cache_format % {'scope': self.scope, 'ident': ident}# 限流组件,用户限流类
class UserThrottle(SimpleRateThrottle):scope = "user"# 局部配置,一分钟访问5次;也可以配置到全局;# THROTTLE_RATES = {"user": "5/m"}cache = default_cache  # default_cache 会读取配置文件中redis缓存的配置def get_cache_key(self, request, view):ident = request.user.pk  #用户IDreturn self.cache_format % {'scope': self.scope, 'ident': ident}

二、全局配置,settings.py

REST_FRAMEWORK = {# 限流全局配置"DEFAULT_THROTTLE_RATES":{"ip":"10/m","user":"5/m",}
}

三、 局部应用,views.py

from ext.throttle import IpThrottle,UserThrottleclass LoginView(APIView):# login页面不需要认证就可以登录,所以单独设置为空;authentication_classes = []permission_classes = []# 应用限流组件,使用IP限流throttle_classes = [IpThrottle,]def post(self,request):# 1、接收用户提交的用户名和密码;user = request.data.get("username")pwd = request.data.get("password")# 2、数据库校验;user_object = models.UserInfo.objects.filter(username=user,password=pwd).first()if not user_object:return Response({"status":False,"msg":"用户名或者密码错误"})# 用户名密码正确为用户生产tokentoken = str(uuid.uuid4())user_object.token = tokenuser_object.save()return Response({"status":True,"msg":"登录成功!","token":token})class AvatarView(NbApiView):# 老板或者员工可以访问permission_classes = [UserPermission,BossPermission]# 对登录用户使用登录用户限流throttle_classes = [UserThrottle,]def get(self,request):return Response({"status":True,"data":[11,22,33,44]})

http://www.yayakq.cn/news/84644/

相关文章:

  • 微机课做网站网站平台策划方案
  • 北京手机网站开发费用关于网站建设项目创业计划书
  • 小网站链接怎么找商丘百度推广电话
  • 主题资源网站建设作业外贸网站翻译建设
  • 青岛网站建设网址网站建设费用IP
  • 如今流行的网站建设广告建设网站建设
  • 深圳企业网站怎么做投简历网站
  • 2008系统怎么做网站广州h5网站制作
  • 网站的创新点有哪些上海做高端网站制
  • 重庆网站建设的意义如何修改wordpress登录页面
  • 网站怎么做架构图网站后台发布图片upload failed
  • 关于单位网站建设的请示中国核工业第五建设有限公司海南
  • 一个月做网站维度 网站建设
  • dw建设网站的代码模板下载嘉兴企业自助建站
  • 安全可信网站wordpress 显示不正常
  • 网站推广与搜索引擎优化衡水网站设计怎么做
  • 目前最先进的网站建设技术免费制作招聘的app
  • 做图片网站会被网站开发外键
  • 网站可以做315认证吗网络营销策略定义
  • 企业网站推广技巧和方法外贸做平台好还是自己建网站好
  • 个人不能建设论坛网站怎么办学生个人主页制作
  • 做搜狗手机网站长尾展览展示搭建设计
  • 视频 播放网站怎么做的全网vip视频网站怎么做
  • 百度推广建设网站是不是合发乌海市住房城乡建设厅网站
  • 如何做京东购物网站新开传奇网站迷失版
  • 腾讯云网站建设教程视频网站建设项目需求分析
  • 网站黑白了树莓派wordpress
  • 社交网站 设计重庆市建设工程信息网南川区
  • 江苏网站seo设计大型网架加工厂
  • 小企业网站建设艺术设计招聘网站