私が取り組んでいるアプリのフェデレーション ログインをいじっています。コードはすでにそれほど美しくはありませんが、代わりに HTML の反復ではなく HTML 内の反復を実行してきれいにしようとすると、このエラーが発生しました。
File "/home/wes/PycharmProjects/Unit3/templates/login.html", line 26, in top-level template code
{% for p in new_providers.keys() %}
UndefinedError: 'new_providers' is undefined
これはコードです(プロバイダーは別のキーです:値辞書)
new_providers = {}
for name in providers.keys():
new_providers[name] = users.create_login_url(federated_identity=providers[name])
else:
error = "You are not logged in"
self.render("login.html", error=error, new_providers = new_providers)
最後に、辞書をレンダリングするための HTML と Jinja を次に示します。これは私が何かが間違っていると思うものですが、私には何も明らかではないようです...
{% for p in new_providers.keys() %}
<a href="{{ new_providers[p] }}">{{ p }}</a>
<br>
{% endfor %}