Flask项目中为啥要使用functools_wraps装饰器?

  1. 项目中为啥要使用

那项目中的user_login_data中为啥要使用呢?

现在我们开始分析:

比如说,我们这俩方法都是视图函数,添加有路由:

那如果添加了路由,那就会出问题,因为一个视图函数不能被两个不同的路由进行装饰

如下:

一个路由对应一个函数。

那如果我们给之前的这个装饰器屏蔽掉: 如下:

有两个地方有到了user_login_data装饰器:

运行:

哎,发现没报错。 这是因为这俩函数是在不同的蓝图下,函数的名字是带着蓝图的名字的。

那如果我给新闻蓝图添加另外一个方法:

再运行:

发现报错,报错信息:视图函数映射要覆盖一个已经存在的方法news.wrapper

其实说白了,就是要先对news.wrapper方法添加路由/comment/<int:news_id>然后又对nwes.wrapper方法添加路由/<int:news_id>

总结:

猜你喜欢

转载自blog.csdn.net/weixin_44786530/article/details/91458369