当前位置: 首页 > 面试题库 >

is_authenticated()引发TypeError TypeError:'bool'对象不可调用

和光启
2023-03-14
问题内容

我尝试is_authenticated()在视图中使用,但收到错误`TypeError:’bool’对象不可调用。为什么会出现此错误,我该如何解决?

@auth.before_app_request
def before_request():
    if current_user.is_authenticated() \
            and not current_user.confirmed \
            and request.endpoint[:5] != 'auth.' \
            and request.endpoint != 'static':
        return redirect(url_for('auth.unconfirmed'))

问题答案:

当您尝试表现对象的方法或功能时,会发生“对象不可调用”错误。

在这种情况下:

current_user.is_authenticated()

您将current_user.is_authenticated表现为一种方法,而不是一种方法。

您必须以这种方式使用它:

current_user.is_authenticated

您在方法或函数(而不是对象)之后使用“()”。

在某些情况下,类可能实现了__call__也可以调用对象的函数,因此它将是可调用的。



 类似资料:
  • 我正在尝试调试 Flask 应用中返回 500 状态的视图,错误为 在回溯中不可调用。视图调用来自 Flask-Login 然后返回 以指示登录成功。 我已经调试到现在是值为的布尔值,而不是Flask应用程序对象。

  • 问题内容: 我试图调试我的应用程序中的视图,该视图返回500状态,并在追溯中出现错误。然后从进行的视图调用返回True以指示登录成功。 我进行了调试,直到,app现在是具有值True而不是Flask应用程序对象的布尔值。 问题答案: 在Flask中,视图必须返回以下之一: a string a Response object (or subclass) a tuple of (string, st

  • 问题内容: 当我尝试在任何上下文中导入时,都会引发此错误: 知道我该如何解决吗?我只是通过打开Terminal,运行然后输入即可生成此错误。 问题答案: 昨天我遇到了同样的问题,没有安装Hashlib,尝试使用pip安装它会给出该错误。我通过使用easy_install进行安装来修复它。 另外我还必须在Windows上为Python 2.7安装Scipy和Microsoft Visual C ++

  • 问题内容: 我在Django中创建URL视图时遇到问题。它给了我这个错误(ferrol是一个Space对象): 这是代码: spaces / models.py Main urls.py spaces / urls.py spaces / views.py 问题答案: 在你的spaces / urls.py文件中,你必须提供查看方法的完整路径: 或像这样:

  • 问题内容: 我有以下代码 当我运行它时,我得到了: 这是为什么?怎么修? 问题答案: 将变量称为。它掩盖了内置功能。

  • 我可以从一个简单的脚本成功加载TextBlob模块,但不能从Flask应用程序加载。我将向您展示代码和错误。 加载一个简单的脚本工作: 从烧瓶应用程序加载时抛出错误: 错误: 我使用的是textblob版本0.11。0与pip一起安装。