Flask 随机时间无用户\u加载程序异常(重置时消失)
我在调试模式下运行flask,当我进行更改并重新加载页面时,经常会抛出一个Flask 随机时间无用户\u加载程序异常(重置时消失),flask,flask-login,Flask,Flask Login,我在调试模式下运行flask,当我进行更改并重新加载页面时,经常会抛出一个No user\u loader异常 例外:尚未为此LoginManager安装任何用户\u加载程序。参考tohttps://flask-login.readthedocs.io/en/latest/#how-它可以获取更多信息 在定义了user类之后,我就编写了一个user\u加载器(它被移动了): 此错误在每次刷新页面时都会持续,直到我重置flask应用程序本身(尽管处于调试模式)。然后错误消失了 这是一个已知的bug
No user\u loader
异常
例外:尚未为此LoginManager安装任何用户\u加载程序。参考tohttps://flask-login.readthedocs.io/en/latest/#how-它可以获取更多信息
在定义了user
类之后,我就编写了一个user\u加载器(它被移动了):
此错误在每次刷新页面时都会持续,直到我重置flask应用程序本身(尽管处于调试模式)。然后错误消失了
这是一个已知的bug还是可以预期的东西
更新
我发布这个问题已经有一段时间了,但它只是得到了一张选票,所以有人遇到了类似的问题。我在这个问题上有了更多的经验,所以我可以稍微解释一下这个问题:
在对我的应用程序进行了一次大的重构之后,我开始遇到类似的异常(记不起确切的异常),本质上说找不到给定的模块(我相信这是一条路径)。当我对SQLA模型进行某些更改或其他广泛的更改时,这种情况似乎最常见
我希望我能说得更清楚些,但错误是神秘的,它经常在我最不经意的时候出现。当然,可以对代码进行某种更改,从而导致调试模式服务器出现故障并需要重新启动
我知道这仍然不是很有启发性,但肯定比这篇文章的前半部分更准确。我最近遇到了这个问题。我也遇到了这个错误:
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函数粘贴到了之后:
return app
换句话说,代码的执行从未到达我的用户\加载程序声明。确保您的返回语句在您的用户\u加载器声明之后。您有没有发现这一点?我也有同样的问题。不,这是非常不幸的,但它仍然是一个神秘的错误,因为我曾经处理过。非常脆弱。
return app