Flaskアプリケーションでこれを実行しようとしていますが、次のようなエラーが発生します
TypeError: 'bool' object is not callable.
対応するコードは次のとおりです。
@app.before_request
def before_request():
g.user = current_user
if g.user.is_authenticated():
g.search_form = None
if g.user.is_authenticated():
をif g.user.is_authenticated:
に次のように置き換えてみてください。
@app.before_request
def before_request():
g.user = current_user
if g.user.is_authenticated:
g.search_form = None
から ドキュメント :
is_authenticated
ユーザーが認証されている場合、つまりユーザーが有効な資格情報を提供している場合は、Trueを返します。 (認証されたユーザーのみがlogin_requiredの基準を満たします。)
ドキュメントに記載されているように、is_authenticatedはブール値(True
またはFalse
)です。
ただし、これは過去の関数でした、 ただし、バージョン3.0ではブール値に変更されています :
速報:
is_authenticated
、is_active
、およびis_anonymous
ユーザークラスのメンバーは、メソッドではなくプロパティになりました。アプリケーションは、それに応じてユーザークラスを更新する必要があります。
それの訳は is_authenticated
は関数ではなく、単なるブール値です。代わりに次を試してください。
@app.before_request
def before_request():
g.user = current_user
if g.user.is_authenticated:
g.search_form = None