2011-02-04 7 views
1

私はテンプレートに渡されるリストを持っています。私は特定のインデックスを持つ値にアクセスしたい。問題は、例えばPython/Django - オブジェクト変数の値からのインデックスでリスト値を取得

...リストがテンプレートにドット表記を使ってアクセスされている。

object = { id: 1 } 
list = [ "zero", "one" ] 
print list[ object.id ] ## one 

リストには、ドット表記とインデックスで値にアクセステンプレートになったら。

list.1 ## one 
list[ object.id ] ## this doesn't work 
list.object.id ## this doesn't work obv. 

インデックス「1」の値にアクセスするにはどうすればよいですか?

ありがとうございます!

+0

辞書のキーが変数 'id'または文字列' 'id" 'になっていますか?それが '' id ''ならば、私は3番目のものがうまくいくと思います。 –

答えて

2

これはDjangoのテンプレート言語では考えられません。それはデザインによってかなり制限されています。

このコードをビューに配置し、レンダリング時にlist[object.id]の値をテンプレートに渡すと、これを行うことができます。

1

私はそれが不可能であることは間違いありません。

テンプレートタグを作成できます。テンプレートタグは、2つの引数を受け入れ、新しい 変数をテンプレートコンテキストに挿入します。次のように

使用量は見ることができます: {%のget_list_memberリストは%list_memberとしてobject.id}

を、あなたは、通常のテンプレート変数としてlist_member使用することができます{{list_member}}

標準の実装をチェックurlテンプレートタグは、後で使用するためにURLを テンプレートコンテキスト変数に割り当てることもできます。

関連する問題