gpt4 book ai didi

python - django render_to_response 如何发送特殊字符

转载 作者:行者123 更新时间:2023-11-28 21:58:10 25 4
gpt4 key购买 nike

我有一个要在 html 文件中显示的字符串。字符串中的某些单词(标记为“spc”)需要以黄色背景和较大的字体显示。

我试图使用 render_to_response 将字符串(称为 tdoc)发送到 html 文件方法。我用 div 标签替换了字符串中的“spc”标签。假设,替换后,字符串的一部分是 we would seldom be prepared to <div id="spcl">examine</div> every .我的 Django 代码看起来像 render_to_response('a.html',{'taggeddoc':tdoc})

在我的CSS中,我有以下代码

 #spcl {  
background-color: #FFFF00;
font-size:15px;
}

所以,我应该以粗体和黄色背景看到单词 examine,但我没有看到。当我查看呈现的 html 的源代码时,它有以下子字符串 We would seldom be prepared to &lt;div id=&quot;spcl&quot;&gt;examine&lt;/div&gt; every而不是原来的字符串。

如何使“examine”这个词和类似的词以所需的方式显示?

最佳答案

使用mark_safe防止 html 转义:

from django.utils.safestring import mark_safe

...

render_to_response('a.html', {'taggeddoc': mark_safe(tdoc)})

或者使用safe在模板中过滤:

{{ taggeddoc|safe }}

例子:

>>> from django.utils.safestring import mark_safe
>>> from django.template import Template, Context

# without mark_safe, safe
>>> print(Template('{{ taggeddoc }}').render(Context({'taggeddoc': '<div>hello</div>'})))
&lt;div&gt;hello&lt;/div&gt;

# mark_safe
>>> print(Template('{{ taggeddoc }}').render(Context({'taggeddoc': mark_safe('<div>hello</div>')})))
<div>hello</div>

# safe filter
>>> print(Template('{{ taggeddoc|safe }}').render(Context({'taggeddoc': '<div>hello</div>'})))
<div>hello</div>

关于python - django render_to_response 如何发送特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18709708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com