在我的django模板中,我有:

<strong>Copyright &copy; </strong> {{ copyright }}

哪里:
copyright = "Company &copy; 2014-2018"

这表明:
Copyright © Company &copy; 2014-2018

为什么第一个符号可以,第二个不可以?

最佳答案

Django模板escapes variables,因此&copy;在渲染模板中变为&amp;copy,在浏览器中显示为&copy;
您可以在视图中使用mark_safe来避免这种情况,

from django.utils.safestring import mark_safe
copyright = mark_safe("Company &copy; 2014-2018")

或者使用模板中的safe过滤器。
{{ copyright|safe }}

请注意,只有将此字符串标记为安全字符串才是安全的,因为您可以控制该值。您应该始终从用户处转义输入,否则您很容易受到XSS攻击。

关于html - 具有上下文变量的特殊符号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52740568/

10-09 17:20