扫码关注官方订阅号
哪位看过tornado源码的大神可以介绍下tornado authenticated的实现原理吗? 为什么使用functools.wraps装饰wrapper? 不用functools.wraps装饰也可完成登录检查,他那样实现有什么特殊考虑吗?
认证高级PHP讲师
你是想问为什么使用装饰器?还是问为什么使用functools.wraps实现装饰器? 1.第一问题的话,装饰器能够最大程度减少对现有代码的改动,同时提供了灵活的方式扩展 2.第二个问题的话,functools.wraps 作为内在模块,很好的处理了反射的问题
functools.wraps本来就是一个快捷方式, 从来没有绕不过去的
tornado authenticated很简单, 用加密的cookie存储一些用户的数据, 至少存个用户id什么的. 因为cookie长度有限, 也不能多存, 我建议可以再存个登陆时间什么的.
cookie这些都是很原始的用法, 比如我们要每次检查用户在数据库里有没有被封, 那么仅仅靠tornado的用户机制还不行, 还需要多写一点代码查数据库. 不过一切都很灵活啦, 这就是我喜欢tornado的原因, 没有太多的自创概念需要学习.
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
你是想问为什么使用装饰器?还是问为什么使用functools.wraps实现装饰器?
1.第一问题的话,装饰器能够最大程度减少对现有代码的改动,同时提供了灵活的方式扩展
2.第二个问题的话,functools.wraps 作为内在模块,很好的处理了反射的问题
functools.wraps本来就是一个快捷方式, 从来没有绕不过去的
tornado authenticated很简单, 用加密的cookie存储一些用户的数据, 至少存个用户id什么的. 因为cookie长度有限, 也不能多存, 我建议可以再存个登陆时间什么的.
cookie这些都是很原始的用法, 比如我们要每次检查用户在数据库里有没有被封, 那么仅仅靠tornado的用户机制还不行, 还需要多写一点代码查数据库. 不过一切都很灵活啦, 这就是我喜欢tornado的原因, 没有太多的自创概念需要学习.