如何在Django和jinja2项目中存储与HTML标签混合的文本并正确显示标签?

kokeuurv  于 2023-05-30  发布在  Go
关注(0)|答案(1)|浏览(116)

我从PostgreSQL数据库中获取文章的文本,它存储在TEXT类型中,然后使用jinja插入到html模板中,如下面的expample所示:

<p>{{article.text}}</p>

问题是,一个文本应该被分成几个段落,这意味着html标签需要放在文本中。我试过在文本中写html标签,就像下面的例子:

...development.</br> Simplicity...

但是,标记显示为普通文本的一部分。
是否有任何选项来存储与HTML标签混合的文本?或者,也许有一个替代的解决方案?

ttisahbt

ttisahbt1#

您可以将文本标记为“安全”以防止使用**|safe**模板过滤器[Django-doc]转义它:

<p>
  {{ article.text|safe }}
</p>

如果您不将文本标记为SafeString,则会将<转换为&lt;。这是一种经常被人“想要”的行为:如果您编写1 < 2,您希望将其呈现为 * 小于 *。但是如果内容是HTML,并且您想跳过这种转义机制,则可以将文本标记为安全。

相关问题