Django 管理文本字段上的新行

Posted

技术标签:

【中文标题】Django 管理文本字段上的新行【英文标题】:New Line on Django admin Text Field 【发布时间】:2016-09-05 03:00:21 【问题描述】:

我正在尝试创建一个 django 博客,管理员在其中发布来自管理站点的博客。 我已经为内容提供了一个 TextField,现在想换行。 我曾尝试使用 \n 但它没有帮助。主 html 页面上的输出仍然与 \n 打印相同。我还尝试了 标签并在我的模型文件中允许 tags=True 。还是一样。所有标签都在 html 页面上。

我的 Django 管理表单已提交:

我的公共模板中显示的结果:

【问题讨论】:

任何人都可以帮我解决我遇到同样的问题 【参考方案1】:
post.content|linebreaks

这将使文本框中的行显示为不使用\n\

【讨论】:

【参考方案2】:

在搜索互联网并尝试不同的Django Template Filters 之后,我发现了一个特定的过滤器,SAFE

对我来说,LINEBREAKS 过滤器不起作用,正如上面@Maxime 提供的那样,但 safe 起作用了。

在您的 html 模板文件中像这样使用它。

post.content|safe

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

【讨论】:

【参考方案3】:

您应该使用template filter linebreaks,它将reals \n(这意味着文本区域中的换行符,而不是您使用\然后n键入的换行符)转换为@ 987654325@:

 post.content|linebreaks 

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

【讨论】:

嗨,我也在找同样的东西,我有一个带有文本字段的模型和相应的管理类,我不知道把这个放在哪里???我们是否需要覆盖 html 并为其创建模板??? @lok​​esh1729 ,尝试在 html 模板文件中使用 safe 关键字,如下所示: post.content|safe 为我工作。

以上是关于Django 管理文本字段上的新行的主要内容,如果未能解决你的问题,请参考以下文章

从 Django 中的文本字段填充管理表单

Django 管理员不会显示字段

将模型范围的帮助文本添加到 django 模型的管理表单

Django后台管理系统的使用

django 管理列表中的外键显示

ForeignKey 字段不会出现在 Django 管理站点中