Python装饰器 Decorators

之前在用Django搭web后端的时候,需要做个小功能就是:用户登陆之后长时间未操作会超时自动退出。

 

并且当用户做某些事情,比如下载文件,留言,发送email 都需要先检验当前用户还是否处于已登陆状态。

 

要是在每次事件前面都用 if 判断,代码冗余不说,也影响调试时的心情,简直不能忍。。。

 

直到。。。发现。。。python还有。。。装饰器。。。这个功能!!!

 

@decorator 完美解决问题。。。  

Python装饰器 Decorators_第1张图片

忽然想到手机银行软件(比如动卡空间,经常用。。。老是动不动都提示先登陆。。。),那个超时退出时间更短,往往半分钟未操作就退出了。

需要很多次判断的时候,一句@login 解决所有顾虑,简直帅到没朋友~

 

常见应用Decorator的地方

Python装饰器 Decorators_第2张图片

 

Python装饰器 Decorators_第3张图片

Python装饰器 Decorators_第4张图片

带参数的装饰器

Python装饰器 Decorators_第5张图片

你可能感兴趣的:(Django框架,装饰器,decorator)