2017-04-11 17 views
0

テンプレートの特定のキーにアクセスする際に問題があります。ここに私のコードは次のとおりです。django - ループ変数を辞書キーとして使用

{% for rsim,couples in zipped_formated_rxnsim_pairedsim %} 
    -{{rsim.xxx_fk.xxx_code_char}} #ex : toto 
    {% for rsim2,couples2 in mydict.{{rsim.xxx_fk.xxx_code_char}}%} 
     <li> {{rsim2}} - {{couples2}}</li> 
    {% endfor %} 
{% endfor %} 

それは私にこのエラーを与え、

は残りを解析できませんでした: '{{rsim.xxx_fk.xxx_code_char}}'「mydictから{{rsim.xxx_fk。 .xxx_code_char}}」

私は、この動作を理解していないので、私のハードコード行{% for rsim2,couples2 in mydict.toto %}{% for rsim2,couples2 in mydict.{{rsim.pdb_fk.pdb_code_char}}%}あれば、それは私がこのアイデアについて何かを行うことができますどのように...私は意味、作品?私が通過したいので、私は本当に、このループ構造を必要とする

のみ、特定の「RSIM、カップル」タプルについてタプル「rsim2は、をcouples2」。他の言葉では、 "rsim2、couples2"は、 "rsim、couples"とリンクされた余分なデータです。キーを使用する辞書よりも優れたソリューションは何ですか?

私はキーとして直接使用する変数を追加して、{{と}}タグを使用してみましたが、それは動作しませんでした。どんな助けもありがとう。

ありがとうございました!

+0

?すでにテンプレートタグ内にあるときは、変数構文を使用することはできません。 –

+0

私が理解していないのは、どうすれば似たようなことができるのかということです。ありがとう@DanielRoseman –

+0

[Djangoテンプレートの可能な複製]変数で辞書値を検索する方法(http://stackoverflow.com/questions/8000022/django-template-how-to-look-up-a-dictionary値付きの値) –

答えて

0

一般的な答えは、あなたがPythonのではなく、テンプレート言語で欲しいものを達成するためのヘルパーメソッドを追加します

  1. です。テンプレートの中でthingy.somethingがDjangoモデルのインスタンスを参照する場合、これは通常はお勧めです。ここには現れません。

  2. は独自のテンプレートタグやフィルタを書き、または他の誰かが既に書かれている適切なものを検索します。このようなテンプレートタグを書くことは、実際にはとても簡単です。ちょうどDjangoのドキュメントの例に従ってください。 [edit]質問のコメントに掲載されているリンクを参照してください。

  3. は内蔵の1 Djangoのに別のテンプレート言語を使用してください。 DjangoはJinja2をサポートしています。私はそれがあなたが望むことをすることができるかどうか、それを使用する経験はありません。あなたがDjangoの独自のテンプレート言語で唯一の問題であるならば、おそらくあなたはナットを壊すためにスレッジハンマーを使用しています。理解することはありません何

+0

私はこの種の答えを探していました、完璧でした、私はそれを確認するつもりです。ありがとうございました –

関連する問題