Flask装饰器问题
1 问题描述
我在使用Flask时,想要一个装饰器,对多个函数进行封装,但是出现了一下的问题。
AssertionError: View function mapping is overwriting an existing endpoint function: inner
AssertionError:视图函数映射覆盖现有端点函数:inner
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vzEcd3T5-1589730540377)(y_image/1589334462033.png)]
2 解决方案
Flask要求您将单个“视图函数”与“端点”关联起来,调用两次装饰器,这将创建两个不同的函数(功能完全相同,但内存签名不同)。所以解决的方法如下:
2.1 在装饰器上加上 __name__
2.2 在每个使用装饰器的的路由上,使用断点。
2.3 版本问题
这个问题是与Flask1.0有关,如果你有相同的版本,然后做以下来摆脱这个
sudo pip uninstall Flask
sudo pip install Flask=0.9