哪位看过tornado源码的大神可以介绍下tornado authenticated的实现原理吗? 为什么使用functools.wraps装饰wrapper? 不用functools.wraps装饰也可完成登录检查,他那样实现有什么特殊考虑吗?
哪位看过tornado源码的大神可以介绍下tornado authenticated的实现原理吗? 为什么使用functools.wraps装饰wrapper? 不用functools.wraps装饰也可完成登录检查,他那样实现有什么特殊考虑吗?
functools.wraps本来就是一个快捷方式, 从来没有绕不过去的
tornado authenticated很简单, 用加密的cookie存储一些用户的数据, 至少存个用户id什么的. 因为cookie长度有限, 也不能多存, 我建议可以再存个登陆时间什么的.
cookie这些都是很原始的用法, 比如我们要每次检查用户在数据库里有没有被封, 那么仅仅靠tornado的用户机制还不行, 还需要多写一点代码查数据库. 不过一切都很灵活啦, 这就是我喜欢tornado的原因, 没有太多的自创概念需要学习.
1 回答9.6k 阅读✓ 已解决
2 回答5.3k 阅读✓ 已解决
2 回答3.6k 阅读✓ 已解决
3 回答4.5k 阅读
3 回答1.4k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
2 回答1.6k 阅读✓ 已解决
你是想问为什么使用装饰器?还是问为什么使用functools.wraps实现装饰器?
1.第一问题的话,装饰器能够最大程度减少对现有代码的改动,同时提供了灵活的方式扩展
2.第二个问题的话,functools.wraps 作为内在模块,很好的处理了反射的问题