私はdjangoテンプレートでデバイスのAPIをいくつか呼び出した結果を表示しようとしています。しかし、私はテンプレートに結果を渡し、私が望むようにそれらを表示する方法に問題があります。djangoテンプレートで表示するためのリスト値の組み合わせ
私は対応する3つのリストを持っています。 (プールの量が固定されていない)クエリの初期入力としてプールの リスト:最初のAPI呼び出しから取得メンバーの
pools_list = ['testpoolA', 'testpoolB']
リスト(各プールのメンバーのリストを取得):
members_lists = [
[{'address': '10.10.10.11', 'port': 1616},
{'address': '10.10.10.11', 'port': 1717},
{'address': '10.10.10.12', 'port': 1616},
{'address': '10.10.10.12', 'port': 1717}],
[{'address': '10.20.20.11', 'port': 1212},
{'address': '10.20.20.11', 'port': 1213},
{'address': '10.20.20.12', 'port': 1212},
{'address': '10.20.20.12', 'port': 1213}]
]
第2のAPIコール(各プールから各メンバーの優先順位を取得)からのメンバーの優先順位のリスト:
members_priorites_lists = [[0, 0, 1, 1], [0, 0, 1, 1]]
そして、私はこのように表示したいと思います:
プール名1:
- POOL1のメンバー1のADDRES、ポート、優先順位
- POOL1 member2のADDRES、ポート、優先順位 (...)
プール名2:
- pool2 member1 addres、port、priority
- pool2 member2 addres、port、priority (...)
私はこれを共有インデックス付きのループで行うことができます。 しかし、私がこれまで読んできたことは、できるだけ多くのロジックを維持するために、djangoテンプレートでは不可能です。
どうすればいいですか?私は、何らかの形でデータ構造を準備し、それをテンプレートにいくつかの異なる形式で渡す必要があると思います。しかし、私はそれを構築してテンプレートにアクセスする方法がわかりません。 これに最も効果的なアプローチは何ですか?私は本当にいくつかのアドバイスを感謝します。私はしかし、あなたはあなたのビューで次の操作を行うことができ、このレベルの複雑さと、同時に複数のリストをトラバースする簡単な方法を知っていない
これは優れたヒントでした。それは私が望む結果を正確に私に与えます。ありがとうございました! – daro