在Django模板中使用点表示法访问字典时遇到问题

tus*_*747 0 django

我在使用模板语言点表示法访问字典中的值时遇到问题.

这是我的一本词典的例子:

{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'}}
Run Code Online (Sandbox Code Playgroud)

我在Python中访问它的方式是这样的:

D[2]['email']
Run Code Online (Sandbox Code Playgroud)

这是我在模板中尝试过的内容:

{% for d in D %}
    {% if d == a.user_id %} {{ D.d.email }} {% endif %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

它没有打印出任何东西......(我通过在执行块中添加一些HTML来测试我的布尔值是否为True.

你能帮帮我写点吗?我知道这个:{{ D.d.email }}那是错的.

谢谢.

Ned*_*der 5

你不想要{{ D.d.email }},查找D ['d'].Django模板中没有语法将变量用作键.

用这个:

{% for d,v in D.items %}
    {% if d == a.user_id %} {{ v.email }} {% endif %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)