2

我在使用模板语言点符号访问字典中的值时遇到问题。

这是我的一本字典可能看起来像的示例:

{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 回答