在我的django模板中,我有:
<strong>Copyright © </strong> {{ copyright }}
哪里:
copyright = "Company © 2014-2018"
这表明:
Copyright © Company © 2014-2018
为什么第一个符号可以,第二个不可以?
最佳答案
Django模板escapes variables,因此©
;在渲染模板中变为&copy
,在浏览器中显示为©
。
您可以在视图中使用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/