我正在使用的 View 将字符串返回到 html 模板。返回的字符串包含在模板中未正确表示的特殊字符。简单地说,从 View 返回的字符串可能如下所示:
test = "\"Foo bar\""
return render_to_response('index.html', {'test': test})
并显示在 html 模板中,如下所示:
& quot;Foo bar& quot;
如何修复编码以使其正确显示?
最佳答案
打印时使用 safe filter:
{{ test|safe }}
或者,在 View 中执行此操作:
from django.utils.safestring import mark_safe
test = mark_safe("\"Foo bar\"")
请注意,这样做是在告诉 Django 字符串的内容是安全的,不需要 HTML 转义。如果您打算放置任何可能来自用户的东西,那么这将使您容易受到 XSS 攻击,因此请谨慎使用。
关于Django View 返回在 html 模板中未正确表示的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/794232/