加重有向グラフは、Python の辞書の辞書として表されます。このようなもの(例):
digraph = {'a': {'b':2, 'c':3}, 'b': { 'a':1, 'd',2}}
私の問題は、この digraph オブジェクトを Django Template システムに渡すことです。この例では、'a'、'b'、'c'、'd' はグラフのノードであり、ダイグラフはこれらのノード間の接続を整数値で指定された各接続エッジの重みと共に表します。
一般的なノードnodeを考えてみましょう。
テンプレート内のdigraph.node.itemsにアクセスできません。どの辞書 D に対しても、D.itemsは適切に機能します。ただし、サブディクショナリのアイテムにアクセスしたい場合はそうではありません (上の有向グラフ)。これはまさに私が欲しいものです(しかしうまくいきません):
{% for node in node_list %}
{% for adj_node,weight in digraph.node.items %}
{{ adj_node }}, {{ weight }} <br/>
{% endfor %}
{% endfor %}
adj_nodeとweightは出力されません。