Python
(1)
收藏
我要回答
是Flask在视图映射的时候,不同的路径映射到了相同的方法所致。
可能的情况是用了装饰器,但是装饰器返回的方法都是 wrapper,这个时候Flask认为wrapper方法已经映射过了,所以会报异常。
可以修改装饰器,使用@wraps修饰,让返回的装饰器用被装饰的方法的名字,Flask就不会报错了。
from functools import wraps def admin_filter(func): @wraps(func)#让这个修饰器的名字和被修饰的方法名字一致 def wrapper(): if 'user' not in session: return redirect("http://wanmait.com/") return func() return wrapper
是Flask在视图映射的时候,不同的路径映射到了相同的方法所致。
可能的情况是用了装饰器,但是装饰器返回的方法都是 wrapper,这个时候Flask认为wrapper方法已经映射过了,所以会报异常。
可以修改装饰器,使用@wraps修饰,让返回的装饰器用被装饰的方法的名字,Flask就不会报错了。