django - 如何在 Django 模板中显示多层 JSON?
问题描述
所以我有这个 JSON 响应:
{
"orders": [
{
"orderId": "4123456789",
"dateTimeOrderPlaced": "2017-02-09T12:39:48+01:00",
"orderItems": [
{
"orderItemId": "2012345678",
"ean": "0000007740404",
"cancelRequest": false,
"quantity": 10
}
]
}
]
}
.json()
我用这个方法在我的视图中传递了它。我在我的模板中使用它:
{% for key, value in orders.items %}
{{ key }}: {{ value }}
{% endfor %}
我在我的 HTML 中得到了这个:
orders: [{'orderId': '2529081520', 'dateTimeOrderPlaced': '2019-09-07T00:12:16+02:00', 'orderItems': [{'orderItemId': '2298728074', 'ean': '8945005881389', 'cancelRequest': False, 'quantity': 1}]}]
但是如何进一步剖析呢?例如获取OrderId
或ean
?
解决方案
您可以使用模板变量点符号访问字典项,如下所示
{% for order in orders.orders %}
{{ order.orderId }}
{% for item in order.orderItems %}
{{ item.ean }}
{% endfor %}
{% endfor %}
假设上下文变量orders
包含您解析的 JSON,此模板将呈现如下:
OrderId: 4123456789
EAN: 0000007740404
推荐阅读
- bash - 使用 pgrep 而不是 ps 获取内存使用百分比
- c - 为什么获取数组长度的 sizeof 函数在我的函数中不起作用?
- c# - 来自不同来源的 EF Core 实体继承,没有鉴别器
- algorithm - 实现极小极大算法
- python - 如何使用 selenium python 在网站中抓取 ::before 元素
- python - 如何在 Python 中模拟随机访问文件
- preg-match-all - preg 匹配所有重复模式
- javascript - 试图让下一个和上一个按钮出现在注册表单的不同时间
- php - 使用 PHP 或 .htaccess 设置 max_connections?
- angular - Angular 2+ - ng-repeat 似乎不起作用,但 {{ var }} 可以