我正在尝试在Django管理表单的验证消息中突出显示一些文本。
结果是这样的
valid_part
<span style="background-color:yellow">invalid_part</span>
another_valid_part
我希望保留<span ...>
和</span>
,但用户刚输入的valid_part
,invalid_part
应该转义为避免XSS。< / p>
答案 0 :(得分:1)
在视图部分:
'parts': {
'valid1': mark_safe(valid1),
'valid2': mark_safe(valid2),
'invalid': invalid,
}
在模板中:
{{ parts.valid1 }} {{ parts.invalid }} {{ parts.valid2 }}
答案 1 :(得分:1)
您可以执行以下操作:
#views.py
from django.utils.html import escape
valid_part = "<i> hello1 </i>" #needs escaping
invalid_part = "<i> hello2 </i>" #needs escaping
error = "{0} <span style='background-color:yellow'>{1}</span>".format(escape(valid_part),escape(invalid_part))
return render_to_response('my.html',{"error":error})
在模板中:
#my.html
{{ error|safe }}