代码之家  ›  专栏  ›  技术社区  ›  blueFast

带上下文变量的特殊符号

  •  1
  • blueFast  · 技术社区  · 7 年前

    在我的django模板中,我有:

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

    哪里:

    copyright = "Company &copy; 2014-2018"
    

    这表明:

    Copyright © Company &copy; 2014-2018
    

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

    2 回复  |  直到 7 年前
        1
  •  3
  •   Alasdair    7 年前

    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攻击。

        2
  •  2
  •   chuck_sum    7 年前

    默认情况下,Django在标记中自动转义html。如果你想包括html使用

     {{copyright|safe}}