Django管理文本字段上的新行

wqsoz72f  于 2022-11-26  发布在  Go
关注(0)|答案(4)|浏览(129)

我正在尝试创建一个django博客,管理员可以在这里从管理员站点发布博客。我已经为内容提供了一个TextField,现在想提供一个新行。我已经尝试使用\n但没有帮助。主html页面上的输出仍然与打印相同。\n我还尝试了
标签和允许的标签=真在我的模型文件。仍然是一样的。所有的标签都来了,因为它是在html页面。
我的Django管理表单已提交:

在我的公用模板中显示的结果:

n8ghc7c1

n8ghc7c11#

您应该使用模板过滤器linebreaks,它会将 reals \n(表示文本区域中的换行符,而不是您先使用\然后使用n键入的换行符)转换为<br />

{{ post.content|linebreaks }}

或者,如果您不想拥有周围的<p>块,当然也可以使用linebreaksbr

htzpubme

htzpubme2#

在搜索互联网并尝试不同的Django Template Filters后,我遇到了一个特定的过滤器,安全
对我来说,LINEBREAKS过滤器不起作用,如上面的@Maxime所提供的,但 safe 起作用了。
在html模板文件中像这样使用它。

{{post.content|safe}}

为了更好地理解SAFE过滤器,我建议阅读documentation

q8l4jmvw

q8l4jmvw3#

{{post.content|linebreaks}}

这将使文本框中的行按原样显示,而不使用\n\

jfewjypa

jfewjypa4#

{{post.content|linebreaksbr}}
除了换行函数,CSS声明也可以工作。

相关问题