view.py
def a(request)
a=3.222
c=1.555
if a>5:
b='<h1>%0.3f</h1>' % (a)
else
b='%0.3f' % (a)
content={'a':b, 'c':c}
return render(request, 'a.html', context)
a.html
{{ a|safe }}
{{ c }}
在PL loc。小数分隔符是',' C值打印为1,555 - 很好,但b打印为3.222,因为使用安全,我必须使用因为html标签。 如何使用','?
分隔所有浮点值答案 0 :(得分:1)
我不认为您的问题与使用safe
有任何关联。这只是python字符串格式化(在您的视图中使用)不是位置感知的情况。您可以尝试使用locale.format()代替,这可以作为区域设置感知的替代方案。
但是,无论如何将HTML放入您的视图中并不是一个好习惯。所以我会将格式化逻辑移到你的模板中:
view.py
def a(request)
a=3.222
c=1.555
content={'a':b, 'c':c}
return render(request, 'a.html', context)
a.html
{% if a>5 %}
<b>{{ a }}</b>
{% else %}
{{ a }}
{% endif %}
{{ c }}