我需要将十进制(浮点数)值传递给Django模板中的Javascript。数据以data-
元素的形式传递,例如
{% for face in photo.face_set.all %}
<span class="face-text" style="margin-left: 1em;"
data-roi='{ "x":{{ face.x }}, "y":{{ face.y }}, "w":{{ face.w }}, "h":{{ face.h }} }'>
{{ face.person.display_as }}<br>
</span>
{% endfor %}
一个明显的问题是,对于以逗号作为小数点分隔符的语言环境,{{face.(x,y,w,h)}}
会被呈现,例如为1,234
,而数据值应带小数点。
我知道可以使用safe
和unlocalize
来防止这种行为,但这似乎并不正确:我的代码可能应该以某种方式区分显示值和代码值,而无需显式格式化每个值个人价值。最佳做法是什么?
答案 0 :(得分:0)
我将以python converted to JSON格式格式化所有数据的“值”部分,并将其传递给模板。然后,我将使用javascript get back the data并填充您的HTML模板。