根本思想是使用装饰器,在功能实现前先判断用户是否登录。
感觉这篇博客讲的很好:
https://blog.csdn.net/memory_qianxiao/article/details/84106943

python装饰器的wraps作用

https://blog.csdn.net/hqzxsc2006/article/details/50337865
Python 装饰器(decorator)在实现的时候,被装饰后的函数其实已经是另外一个函数了(函数名等函数属性会发生改变),为了不影响,Python的functools包中提供了一个叫 wraps 的 decorator 来消除这样的副作用。写一个decorator 的时候,最好在实现之前加上 functools 的 wrap,它能保留原有函数的名称和 docstring。