如何在Klaviyo的Django模板中访问含$符号的字典属性?
解决Klaviyo模板中访问含$符号属性的问题
问题场景
你的数据结构如下:
{ "title": "Some title", "metadata": { "$price": 9.99, "$inventory_policy": 1 } }
使用{{ item.metadata.$price }}等点语法访问时,模板构建器报错,原因是Django/Klaviyo模板的点语法无法识别包含$的键名。
正确解决方案
使用方括号+引号的语法直接指定键名,这是Django模板中处理特殊字符键名的标准方式:
{{ item.metadata["$price"] }} {{ item.metadata["$inventory_policy"] }}
这种写法会直接将"$price"作为字典的键去查找对应值,不会把$解析为模板语法的一部分。
补充说明
- 点语法(如
item.metadata.$price)会被模板引擎解析为尝试访问metadata对象的$price属性,但Python/Klaviyo中常规属性名不能以$开头,因此触发报错。 - 方括号引号语法明确告知模板引擎,要访问的是字典中键为
"$price"的元素,完全匹配你的数据结构。
内容的提问来源于stack exchange,提问作者Aram Becker
相关产品推荐
相关产品推荐

