在 Django 模板中包含非本地化值的好方法



我需要在我的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,而数据值应该用小数点给出。

我知道safeunlocalize可以用来防止这种行为,但这似乎不对:我的代码可能应该以某种方式区分显示值和代码值,而无需显式格式化每个单独的值。执行此操作的最佳做法是什么?

我会得到用python格式化的数据的所有"值"部分,转换为JSON并传递给模板。然后我会使用 javascript 来获取数据并填充您的 HTML 模板。

相关内容

最新更新