之前在用Django搭web后端的时候,需要做个小功能就是:用户登陆之后长时间未操作会超时自动退出。
并且当用户做某些事情,比如下载文件,留言,发送email 都需要先检验当前用户还是否处于已登陆状态。
要是在每次事件前面都用 if 判断,代码冗余不说,也影响调试时的心情,简直不能忍。。。
直到。。。发现。。。python还有。。。装饰器。。。这个功能!!!
@decorator 完美解决问题。。。
忽然想到手机银行软件(比如动卡空间,经常用。。。老是动不动都提示先登陆。。。),那个超时退出时间更短,往往半分钟未操作就退出了。
需要很多次判断的时候,一句@login 解决所有顾虑,简直帅到没朋友~
常见应用Decorator的地方
带参数的装饰器