2009-09-25 3 views
63

かなり簡単です。私はDjangoのテンプレートに渡しているPythonのリストを持っています。Djangoテンプレート:リストの最初の項目のプロパティにアクセスする方法

私は特に理想的なあなたはそれがこのように見えると思うだろう...しかし、私はまた、そのアイテムのプロパティにアクセスしたい

{{ thelist|first }} 

を使用して、このリストの最初の項目にアクセスすることができます。

{{ thelist|first.propertyName }} 

しかし、それはありません。あなたは、そのインデックス番号を経由して、リスト内の任意の項目にアクセスすることができます...

答えて

129

はこれに任意のテンプレート解決策はありますか、私は自分自身が余分なテンプレート変数を渡す見つけるつもりです。テンプレートでは、これは他のプロパティの検索と同じように動作します:あなたはプロパティにアクセスするためにfirstテンプレートフィルタとwithテンプレートタグを組み合わせることができます

{{ thelist.0.propertyName }} 
+0

うーんのようになります。しかし、これはinline_admin_formsetで動作しません。イテレーターは、それが期待される方法ではありません。 – Shayne

+0

こんにちはダニエル、テンプレート/ビューに関連する私の質問を確認できますかhttp://stackoverflow.com/questions/34791375/how-to-use-render-to-response-to-render-a-html-page-within- div-in-django? – Sathish

+0

これは、それぞれのエラーメッセージを調べるための 'for'ループよりはるかに優れています。ありがとう! – IIllIIll

25

。あなたは多対多フィールドにアクセスしようとしている場合

{% with thelist|first as first_object %} 
    {{ first_object.propertyname }} 
{% endwith %} 
+0

辞書の場合は、最初にキー/値ペアのタプルを返します。ちょっと醜いですが、値を取得するために別のステートメントを追加しました。 {first_object%として最初にリストされた%} {first_object.1をオブジェクト%として持つ%} {{オブジェクト}} {%endwith%} {%endwith%} –

14

allを追加することを忘れないでください、それはobject.m2m_field.all.0.item_property

関連する問題