1

这是一个使用 dict.keys() 的快速问题

我在 py 文件 Ex 中返回一个字典:

response['dict'] = {'a': [1,2,4], 'b': [5,6,7]}

在 html 中,我尝试使用键循环

{% if dict %}
  {% for list in dict.keys() %}
    list
  {% endfor %}
{endif}

这是抛出一个错误。

TemplateSyntaxError:无法解析剩余部分:来自 'dict.keys() 的'keys()'

在这里需要帮助。如何在 Django 中使用它?

4

2 回答 2

5
{% if dict %}
  {% for key, value in dict.items %}
    list
  {% endfor %}
{endif}

编辑:

{% if dict %}不需要 - 如果给定上下文的变量是空的(或者如果它是空字典),它会默默地传递:

  {% for key, value in dict.items %}
    list
  {% endfor %}
于 2012-08-24T09:55:17.093 回答
-3

这可能是因为dict是 Python 中的保留关键字。尝试

{% if d %}
  {% for key in d.keys() %}
    list
  {% endfor %}
{endif}

或者干脆

{% if d %}
  {% for key in d %}
    list
  {% endfor %}
{endif}

默认情况下,python 中字典上的迭代器是键上的,因此您不必指定您想要键而不是.items()or .values()

于 2012-08-24T09:55:22.940 回答