2

テンプレート言語のドット表記を使用して辞書の値にアクセスするのに問題があります。

これが私の辞書の1つがどのように見えるかの例です:

{2L: {'dob': datetime.date(2012, 7, 7), 'image': u'', 'user_id': 3L, 'id': 2L, 'email': u'blank@blank.com'}, 3L: {'dob': datetime.date(2012, 7, 7), 'image': u'', 'user_id': 4L, 'id': 3L, 'email': u'blank@blank.com'}}

Pythonでこれにアクセスする方法は次のようになります。

D[2]['email']

これが私のテンプレートで試したことです:

{% for d in D %}
    {% if d == a.user_id %} {{ D.d.email }} {% endif %}
{% endfor %}

何も出力されません...(実行ブロック内にHTMLを追加することにより、ブール値がTrueと評価されることをテストしました。

ここでの表記を手伝ってもらえますか?私はそれを知っています:{{ D.d.email }}それは間違っています。

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

4

1 に答える 1

6

あなたは望まない{{ D.d.email }}、それはD['d']を検索する。Djangoテンプレートには、変数をキーとして使用するための構文はありません。

これを使って:

{% for d,v in D.items %}
    {% if d == a.user_id %} {{ v.email }} {% endif %}
{% endfor %}
于 2012-07-10T02:26:16.730 に答える