html - 具有上下文变量的特殊符号

标签 html django templates

在我的 django 模板中我有:

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

地点:

copyright = "Company &copy; 2014-2018"

显示:

Copyright © Company &copy; 2014-2018

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

最佳答案

Django 模板 escapes variables , 所以 ©;在呈现的模板中变为 &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/

相关文章:

html - 根据行长设置容器的宽度

python - 如何停止在 Django 2.* 管理面板中记录最近的操作和历史记录?

python - Django 查看相同 url 模式请求的执行顺序?

c++ - OpenCV 模板化代码在派生类中产生编译错误

javascript - 动画下划线链接有 3 种不同的颜色

html - CSS:模糊 div

django - 如何在 Django 中获取上传的 zip 文件并保存其内容(mp3 文件)?

c++ - 具有模板功能的模板类

JavaScript 模板“不给糖就捣蛋”?

html - 如何控制 Firefox 中表格单元格的溢出?