在我的 django 模板中我有:
<strong>Copyright © </strong> {{ copyright }}
地点:
copyright = "Company © 2014-2018"
显示:
Copyright © Company © 2014-2018
为什么第一个符号可以,第二个不行?
最佳答案
Django 模板 escapes variables , 所以 ©
;在呈现的模板中变为 ©
,在您的浏览器中显示为 ©
。
您可以通过使用 mark_safe
避免这种情况来防止转义在你看来,
from django.utils.safestring import mark_safe
copyright = mark_safe("Company © 2014-2018")
或者使用 safe
在模板中过滤。
{{ copyright|safe }}
请注意,只有将此字符串标记为安全才是安全的,因为您可以控制该值。您应该始终转义来自用户的输入,否则您很容易受到 XSS 攻击。
关于html - 具有上下文变量的特殊符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52740568/