Django 模板无法访问重复引号中的 JSON Key: " 'Key' ": " Value "
Posted
技术标签:
【中文标题】Django 模板无法访问重复引号中的 JSON Key: " \'Key\' ": " Value "【英文标题】:Django template cannot access JSON Key in duplicate quotations: " 'Key' ": " Value "Django 模板无法访问重复引号中的 JSON Key: " 'Key' ": " Value " 【发布时间】:2017-06-15 15:19:21 【问题描述】:我的 Django 应用正在与 API 交互并在模板中显示结果。
API 结果有一些普通的键值对和一些自定义字段,它们的键在双引号和单引号中。
key 在结果 JSON 中被格式化为“'custom_field_123'”:
'cost_price': '0.00', "'asset_field_1234'": None, "'asset_field_5768'": None
我知道这不是正确的 JSON 格式,但这是我必须处理的。
在我可以使用的 Django 模板中:
<p>tower.name</p>
用于常规格式键。 但是模板语言无法识别:
<p>tower.'custom_field_123'</p>
或者
<p>tower.('custom_field_123')</p>
有没有办法访问这些值,或者我必须重命名引号中的键才能在模板中访问它们。
【问题讨论】:
你应该修复任何生成 JSON 的东西。 【参考方案1】:来自the template reference docs:
变量名称必须由任意字母 (A-Z)、任意数字 (0-9)、下划线(但不得以下划线开头)或点组成。
所以引号是不允许的,模板语言无法直接访问这些属性。
您可以编写自己的模板标签以通过变量键(如this question)查找字典项目,但我建议您修复您的数据。
【讨论】:
是的,我怀疑这就是答案,不幸的是数据来自另一个服务,谢谢。以上是关于Django 模板无法访问重复引号中的 JSON Key: " 'Key' ": " Value "的主要内容,如果未能解决你的问题,请参考以下文章