【问题标题】:Adding color to parts of text to be displayed in HTML为要在 HTML 中显示的部分文本添加颜色
【发布时间】:2021-11-02 05:22:42
【问题描述】:

我正在尝试将 HTML 标记嵌入将显示在文本框中的文本中。

我需要将文本写入由以下定义的文本框:

<article class="media content-section">
  <div class="media-body">
    <p class="article-content"><small>{{ file_data }}</small></p>
  </div>
</article>

相关的css部分是:

.article-content {
  white-space: pre-line;
}

我尝试在 python 模块的文本中嵌入 HTML 标签,例如:

file_data += '<p style="color:red;">'+gedline+'</p>'

但是,不会解释 HTML 标记。相反,它们是逐字打印的。

<p style="color:red;">0 HEAD
</p><p style="color:red;">1 SOUR FTM
</p><p style="color:red;">0 @SUBM@ SUBM
</p><p style="color:red;">1 NAME Not Given
</p><p style="color:red;">0 @I13864@ INDI
</p><p style="color:red;">1 NAME Harry Clifton d/Murphy/
</p>

这只是一个例子。实际上,我将为每一行的不同部分分配不同的颜色,但上面的简单示例显示了问题。

有没有更好的方法来实现我的目标?

【问题讨论】:

  • 嗨,欢迎来到 SO!与目前的结果相比,您能更清楚地描述您想要达到的结果吗?

标签: python html css colors


【解决方案1】:

在 Django 中

  1. 最简单的方法是使用安全过滤器:

    {{ 文件数据 |安全 }}

  2. 你也可以使用自动转义标签

    {% 自动转义关闭 %} {{ 文件数据}} {% endautoescape %}

【讨论】:

  • 谢谢。 “安全”过滤器有效。现在我从段落标签中得到了不需要的副作用,比如行之间的间隙。此外,我将更改句子中选定单词的颜色,并且段落标记会在不需要的位置创建一个新行。有没有不会导致这些副作用的“

猜你喜欢
  • 2020-04-27
  • 2020-01-08
  • 1970-01-01
  • 2012-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多