[解決済み] Jinja2: ループ内の変数の値を変更する
2023-03-29 09:06:36
質問
ループの外側で宣言した変数の値をループの中で変更したい。しかし、常に変更すると、ループ外の初期値を維持します。
{% set foo = False %}
{% for item in items %}
{% set foo = True %}
{% if foo %} Ok(1)! {% endif %}
{% endfor %}
{% if foo %} Ok(2)! {% endif %}
これはレンダリングします。
Ok(1)!
というわけで、これまで見つけた唯一の(悪い)解決策はこれでした。
{% set foo = [] %}
{% for item in items %}
{% if foo.append(True) %} {% endif %}
{% if foo %} Ok(1)! {% endif %}
{% endfor %}
{% if foo %} Ok(2)! {% endif %}
これはレンダリングします。
Ok(1)!
Ok(2)!
しかし、これは非常に醜いです! 他にもっとエレガントな解決策はないのでしょうか?
どのように解決するのですか?
辞書ベースのアプローチも試してみてください。それはより少なく醜いようである。
{% set vars = {'foo': False} %}
{% for item in items %}
{% if vars.update({'foo': True}) %} {% endif %}
{% if vars.foo %} Ok(1)! {% endif %}
{% endfor %}
{% if vars.foo %} Ok(2)! {% endif %}
これもレンダリングします。
Ok(1)!
Ok(2)!
関連
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] 文字のASCII値を取得する方法
-
[解決済み] 2次元アレイにおけるピーク検出
-
[解決済み】Jinja2で、変数が未定義かどうかをテストするにはどうすればいいですか?
-
[解決済み] Jinja2 テンプレート変数 if None オブジェクトにデフォルト値を設定する
-
[解決済み] Pythonの要素別タプル演算(sumなど
-
[解決済み] Django Rest Framework ファイルアップロード
-
[解決済み] Ctrl-CでPythonスクリプトを終了できない
-
[解決済み] virtualenvsはどこに作成するのですか?
-
[解決済み] Pythonでリストが空かどうかをチェックする方法は?重複
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PythonでSVGからPNGに変換する
-
[解決済み] django.db.migrations.exceptions.InconsistentMigrationHistory
-
[解決済み] 文字列から先頭と末尾のスペースを削除するには?
-
[解決済み] SQLAlchemy - テーブルのリストを取得する
-
[解決済み] 範囲指定された浮動小数点数のランダムな配列を生成します。
-
[解決済み] あるオブジェクトが数であるかどうかを確認する、最もパイソン的な方法は何でしょうか?
-
[解決済み] Jupyter (IPython)ノートブックのセッションをpickleして保存する方法
-
[解決済み] Django で全てのリクエストヘッダを取得するにはどうすれば良いですか?
-
[解決済み] 新しいpip backtrackingの実行時問題の解決
-
[解決済み] jinjaテンプレートでforループで変数をインクリメントするには?