Flaskのg変数を理解しているので、ログイン後に現在のユーザーを保持するなど、データを隠しておくためのグローバルな場所を提供するはずです。これは正しいです?
ログインしたユーザーの名前をサイト全体に表示したいのですが。
私の見解には
from Flask import g #among other things
ログイン時に割り当てます
user = User.query.filter_by(username = form.username.data).first()
if validate(user):
session['logged_in'] = True
g.user = user
g.userにアクセスできないようです。代わりに、base.htmlテンプレートに次のようなものがある場合...
<ul class="nav">
{% if session['logged_in'] %}
<li class="inactive">logged in as {{ g.user.username }}</li>
{% endif %}
</ul>
エラーが発生します:
jinja2.exceptions.UndefinedError
UndefinedError: 'flask.ctx._RequestGlobals object' has no attribute 'user'
それ以外の場合、ログインは正常に機能します。私は何が欠けていますか?