この問題をdjangoテンプレートで発見しました。私はこの解決策が他の人にとって役に立つかもしれないと考えました:
ここではかなり複雑な状況になるので、単純な例では:
は、我々はテンプレートに記事や自分のIDとタイトルのリストにアクセスする必要があると仮定しましょう。さらに我々は、彼らがクラス属性ではないので、辞書を使用して(出版社のような)各記事について、いくつかの余分なデータを渡したいです。それをさらに困難にするのは、この記事に2つずつアクセスしたいときです。最後の項目のインデックス0の範囲にわたってループの反復のためにAを意味すると同時に、アイテム番号iとI + 1にアクセスすることができます。 []は、テンプレートでサポートされていないためDjangoループとテンプレート内のオブジェクトと辞書項目へのアクセス
{{ publishers[article.id] }}
:あなたはあなたが行うことはできませんDjangoテンプレートで辞書を使用したい場合は、あなたが知っているかもしれないとしてあるため
これは特に大変でした。
{{ publishers.0 }}
が、Djangoテンプレートなどの属性としてフィールドを扱うことができ大したあなたは
{{ publishers.article.id }}
おろかforループを使用したなどのリストやインデックスを通じての記事にアクセスをやらないではないだろう
{{ publishers.articles.i.id }}
ので、私たちは何をしますか?
これは本当に過剰に複雑です。単純な 'for'を使ってリストを反復するだけで、dictの場合は' .items'を繰り返してキーと値を渡すことができます。とにかくdictに別々の値を渡す必要はありません。それらのオブジェクトに直接注釈を付けることができます。 –
私はそれが過度に複雑であることを知っています。特定のケースでは、アイテムを繰り返したり値に注釈を付けることができなかったという事実がありました。ポイントは、私がその過程で学んだほとんど全てをカバーする最も複雑なシナリオを想定することです。私はこれが私の立場にある人を助けるかもしれませんが。ほとんどの目的のためにあなたが言及したことは十分です。 –