[PYTHON] Flask-Login은 TypeError를 발생시킵니다 : is_active 속성을 덮어 쓰려고 할 때 'bool'객체를 호출 할 수 없습니다.
PYTHONFlask-Login은 TypeError를 발생시킵니다 : is_active 속성을 덮어 쓰려고 할 때 'bool'객체를 호출 할 수 없습니다.
Flask-Login에서 is_active를 수정하여 사용자가 항상 활성화되지 않도록하고 싶습니다.
기본값은 항상 True를 반환하지만 금지 된 열의 값을 반환하도록 변경했습니다.
문서에 따라 is_active는 속성이어야합니다. 그러나 내부 Flask-Login 코드는 다음을 발생시킵니다.
TypeError: 'bool' object is not callable
is_active를 사용할 때.
is_active를 올바르게 사용하여 일부 사용자를 비활성화하려면 어떻게합니까?
class User(UserMixin, db.Model):
id = db.Column(db.Integer, primary_key=True)
banned = db.Column(db.Boolean, default=False)
@property
def is_active(self):
return self.banned
login_user(user, form.remember_me.data)
if not force and not user.is_active():
TypeError: 'bool' object is not callable
해결법
-
==============================
1.is_active, is_anonymous 및 is_authenticated는 Flask-Login 0.3의 모든 속성입니다. 그것들을 사용하고 싶다면 그것들을 속성으로 취급하고, 호출하지 마십시오. 그것을 오버라이드하고 싶다면 @property로 꾸미는 것을 잊지 마십시오.
is_active, is_anonymous 및 is_authenticated는 Flask-Login 0.3의 모든 속성입니다. 그것들을 사용하고 싶다면 그것들을 속성으로 취급하고, 호출하지 마십시오. 그것을 오버라이드하고 싶다면 @property로 꾸미는 것을 잊지 마십시오.
# change from current_user.is_authenticated() # to current_user.is_authenticated
가장 최근 버전 (0.3)에 대한 문서를 읽고 있지만 이전 버전의 라이브러리를 사용하고있는 것으로 보입니다. 버전 0.3에는 이러한 속성을 메소드에서 속성으로 변경하는 주요 변경 사항이 포함되어 있습니다. Flask-Login의 최신 버전으로 업그레이드하여 속성으로 처리해야합니다.
is_active 속성이 False를 반환하도록하여 사용자를 비활성화합니다. 열의 값을 반환하는 것이 좋습니다.
-
==============================
2.자신의 논리를 구현하기 위해 is_active를 오버로드합니다.
자신의 논리를 구현하기 위해 is_active를 오버로드합니다.
그게 뭐가 잘못 됐어? IMO는 없다. @property 데코레이터를 사용하여 속성을 만드는 것을 잊은 것을 제외하고는 정확합니다.
토네이도에서는 current_user와 비슷합니다.
from https://stackoverflow.com/questions/32750526/flask-login-raises-typeerror-bool-object-is-not-callable-when-trying-to-overr by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 한 목록의 요소를 변경하면 여러 목록이 변경됩니다. [중복] (0) | 2018.10.05 |
---|---|
[PYTHON] regex href 속성에서 HTML에서 파이썬으로 URL을 추출하는 [duplicate] (0) | 2018.10.05 |
[PYTHON] 값 사이에 공백없이 변수를 인쇄하는 법 [duplicate] (0) | 2018.10.05 |
[PYTHON] python matplotlib 함수에서 산점도 업데이트 (0) | 2018.10.05 |
[PYTHON] 이 함수는 어떻게 OrderedDict를 구현하기 위해 재 작성 될 수 있습니까? (0) | 2018.10.05 |