복붙노트

[PYTHON] is_authenticated ()가 TypeError를 발생시킵니다. TypeError : 'bool'객체를 호출 할 수 없습니다. [duplicate]

PYTHON

is_authenticated ()가 TypeError를 발생시킵니다. TypeError : 'bool'객체를 호출 할 수 없습니다. [duplicate]

뷰에서 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'))

해결법

  1. ==============================

    1.메서드 나 함수처럼 개체를 동작하려고하면 "개체를 호출 할 수 없습니다."오류가 발생합니다.

    메서드 나 함수처럼 개체를 동작하려고하면 "개체를 호출 할 수 없습니다."오류가 발생합니다.

    이 경우 :

    current_user.is_authenticated()
    

    메소드로 current_user.is_authenticated를 작동하지만 메소드가 아닙니다.

    다음과 같이 사용해야합니다.

    current_user.is_authenticated
    

    객체가 아닌 메서드 나 함수 뒤에 "()"을 사용합니다.

    어떤 경우에는 클래스가 __call__ 함수를 구현하여 객체를 호출 할 수도 있습니다. 그러면 호출 할 수 있습니다.

  2. ==============================

    2.Flask-Login 0.3.0 (2015 년 9 월 10 일에 릴리스 됨) 변경 사항 :

    Flask-Login 0.3.0 (2015 년 9 월 10 일에 릴리스 됨) 변경 사항 :

    따라서 사용자 클래스와 코드를 적절하게 변경해야합니다.

  3. from https://stackoverflow.com/questions/32983133/is-authenticated-raises-typeerror-typeerror-bool-object-is-not-callable by cc-by-sa and MIT license