我的字典是这样的(字典中的字典):

{'0': {
    'chosen_unit': <Unit: Kg>,
    'cost': Decimal('10.0000'),
    'unit__name_abbrev': u'G',
    'supplier__supplier': u"Steve's Meat Locker",
    'price': Decimal('5.00'),
    'supplier__address': u'No\r\naddress here',
    'chosen_unit_amount': u'2',
    'city__name': u'Joburg, Central',
    'supplier__phone_number': u'02299944444',
    'supplier__website': None,
    'supplier__price_list': u'',
    'supplier__email': u'ss.sss@ssssss.com',
    'unit__name': u'Gram',
    'name': u'Rump Bone',
}}

现在我只是想在我的模板上显示信息,但我正在努力.我的模板代码如下所示:

{% if landing_dict.ingredients %}
  <hr>
  {% for ingredient in landing_dict.ingredients %}
    {{ ingredient }}
  {% endfor %}
  <a href="/">Print {{ landing_dict.recipe_name }}</a>
{% else %}
  Please search for an ingredient below
{% endif %}

它只在我的模板上显示‘0’吗?

我也试过:

{% for ingredient in landing_dict.ingredients %}
  {{ ingredient.cost }}
{% endfor %}

这甚至没有显示结果.

我想也许我需要更深入地迭代一个层次,所以try 了以下方法:

{% if landing_dict.ingredients %}
  <hr>
  {% for ingredient in landing_dict.ingredients %}
    {% for field in ingredient %}
      {{ field }}
    {% endfor %}
  {% endfor %}
  <a href="/">Print {{ landing_dict.recipe_name }}</a>
{% else %}
  Please search for an ingredient below
{% endif %}

但这没有显示任何内容.

我做错了什么?

推荐答案

假设你的数据是-

data = {'a': [ [1, 2] ], 'b': [ [3, 4] ],'c':[ [5,6]] }

您可以使用data.items()方法来获取字典元素.注意,在Django模板中,我们不会放置().另外,有些用户提到的values[0]不起作用,如果是这样的话,请try values.items.

<table>
    <tr>
        <td>a</td>
        <td>b</td>
        <td>c</td>
    </tr>

    {% for key, values in data.items %}
    <tr>
        <td>{{key}}</td>
        {% for v in values[0] %}
        <td>{{v}}</td>
        {% endfor %}
    </tr>
    {% endfor %}
</table>

我很确定你可以将这个逻辑扩展到你的特定的dict.


To iterate over dict keys in a sorted order-首先,我们在python中排序,然后在Django模板中迭代&;Render.

return render_to_response('some_page.html', {'data': sorted(data.items())})

在模板文件中:

{% for key, value in data %}
    <tr>
        <td> Key: {{ key }} </td> 
        <td> Value: {{ value }} </td>
    </tr>
{% endfor %}

Django相关问答推荐

我找不到为什么我的DRF登录测试没有按预期工作

在Django的反向函数中添加动态URL

Django Form标签和action属性

无法迁移,模型中的外键导致了问题

AttributeError:模块rest_framework.serializers在 Swagger 中的 Django 中没有属性NullBooleanField

基于每个条目的 Django Queryset 过滤

设置 SECURE_HSTS_SECONDS 可以不可逆转地 destruct 您的网站?

Django基于类的视图上的success_url的反向抱怨循环导入

如何在 Django 中返回静态 HTML 文件作为响应?

在 Django 网站上找不到页面 404?

Django populate() 不可重入

目前使用 Django Evolution,South是否更好,值得切换?

django.core.exceptions.ImproperlyConfigured:请求设置 USE_I18N,但未配置设置

在 Django 管理页面中注册应用程序中的每个表/类

在 Django 1.8 或更高版本中填充时出现Models aren't loaded yet"错误

Django ALLOWED_HOSTS IP 范围

如何在 django 中分离我的模型?

django 在 unittest 测试中设置环境变量

Django:AppRegistryNotReady()

Jinja2中的多级模板继承?