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 并为其创建模板??? @lokesh1729 ,尝试在 html 模板文件中使用 safe 关键字,如下所示: post.content|safe 为我工作。以上是关于Django 管理文本字段上的新行的主要内容,如果未能解决你的问题,请参考以下文章