gpt4 book ai didi

flask - 随机时间没有 user_loader 异常(重置时消失)

转载 作者:行者123 更新时间:2023-12-05 07:27:52 25 4
gpt4 key购买 nike

我在 Debug模式下运行 Flask,当我进行更改并重新加载页面时,我经常会抛出一个 No user_loader 异常

Exception: No user_loader has been installed for this LoginManager. Refer tohttps://flask-login.readthedocs.io/en/latest/#how-it-works for more info.

我有一个 user_loader 在我定义了我的 User 类之后写的(它被移动了):

@login.user_loader
def load_user(id):
return User.query.get(int(id))

尽管处于 Debug模式,但每次刷新页面时此错误仍然存​​在直到我重置 flask 应用程序本身。然后错误消失。

这是一个已知错误还是可以预期的错误?

更新

所以自从我发布这个问题以来已经有一段时间了,但它刚刚得到了支持,所以有人遇到了类似的问题。我对这个问题有了更多的经验,所以我可以稍微阐明一下这个问题:

在对我的应用程序进行重大重构后,我开始遇到类似的异常(不记得确切的异常),基本上是说找不到给定的模块(我相信这是一条路线)。当我对 SQLA 模型进行某些更改或进行某种其他类型的广泛更改时,它似乎最常发生。

我希望我能说得更清楚,但这个错误很神秘,而且它经常在我最意想不到的时候出现。当然,可以对导致 Debug模式服务器失败并需要重新启动的代码进行某种更改。

我知道这仍然不是很有启发性,但它肯定比这篇文章的前半部分更准确。

最佳答案

我最近遇到了这个问题。我也遇到了这个错误:

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 声明。确保您的返回语句在您的 user_loader 声明之后。

关于flask - 随机时间没有 user_loader 异常(重置时消失),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53731652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com