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

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

我的 Django 管理表单已提交:

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

【问题讨论】:

  • 任何人都可以帮我解决我遇到同样的问题

标签: django django-templates django-admin


【解决方案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 }} 为我工作。
      猜你喜欢
      • 2021-03-18
      • 1970-01-01
      • 2013-06-22
      • 2017-05-06
      • 2010-11-29
      • 1970-01-01
      • 2018-11-20
      • 1970-01-01
      • 2017-05-12
      相关资源
      最近更新 更多