Django模板无法在重复引用中访问JSON密钥:{" '关键' ":"价值"}

时间:2017-01-30 12:49:42

标签: python json django django-templates

我的Django应用程序正在与API交互并在模板中显示结果。

API结果有一些普通的键值对和一些自定义字段,其中双键和单引号都有一个键。

密钥格式为" ' custom_field_123' "在结果JSON:

{'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>

是否有办法访问这些值,或者我必须重命名引号中的键才能在模板中访问它们。

1 个答案:

答案 0 :(得分:1)

来自the template reference docs

  

变量名必须包含任何字母(A-Z),任何数字(0-9),下划线(但不能以下划线开头)或点。

因此不允许引用,模板语言无法直接访问这些属性。

您可以编写自己的模板标签,通过变量键查找字典项目(如this question中所述),但我建议您修复数据。