我正在学习 Django 教程,有时需要访问 javascript 文件中的模板变量
{{ totalPrice }}
(购物车中的商品总和)。该值至关重要,因为在 javacript 处理该值之前,用户不应该能够降低该值。
结构是这样的。
checkout.html:显示
{{ totalPrice }}
的模板 HTML 文件,该值由 Django 视图计算并通过 Django 视图传入。
checkout.js:该文件中的代码需要
{{ totalPrice }}
的值。
建议的解决方案(通过教程)如下。
{{ totalPrice }}
被放入隐藏(引导程序 class="d-none"
)输入字段中。 该字段不是表单的一部分,无法提交。
<input type="number" class="d-none" id="totalPrice" value={{ totalPrice }}>
然后像这样在
checkout.js
中访问它。
let totalPrice = document.getElementById('totalPrice').value
我对这种方法有几个疑问。
{{ totalPrice|json_script:'totalPrice' }}
。在价值不被破坏的场景下安全吗?据我了解,您使用
{{ totalPrice }}
变量仅用于显示目的,因此根据信息,我认为您没有安全问题。
即使您确实提交了
{{ totalPrice }}
,假设我们正在讨论购物车,该值也应该在后端计算和验证。