我以调试模式运行flask,并且经常进行更改并重新加载页面时,会抛出No user_loader
异常
异常:此LoginManager尚未安装user_loader。有关更多信息,请参阅https://flask-login.readthedocs.io/en/latest/#how-it-works。
在定义user_loader
类(随处可见)之后,我立即写了一个User
:
@login.user_loader
def load_user(id):
return User.query.get(int(id))
该页面的每次刷新都会持续存在该错误,直到我重置烧瓶应用程序本身为止,尽管它处于调试模式。然后错误消失了。
这是已知错误还是可以预期的?
答案 0 :(得分:0)
我最近遇到了这个问题。我也收到此错误:
Exception: No user_loader has been installed for this LoginManager. Refer to https://flask-login.readthedocs.io/en/latest/#how-it-works for more info.
这是我对user_loader函数的声明:
@login_manager.user_loader
def load_user(user_id):
# since the user_id is just the primary key of our user table, use it in the query for the user
return User.query.get(int(user_id))
事实证明,当我从本教程复制粘贴时,我粘贴了load_user函数 AFTER :
return app
换句话说,代码的执行从未达到我的user_loader声明。确保return语句位于user_loader声明之后。