0

我的 MySQL 表中有一个text字段。我想用<br>模板的或某种格式来格式化所有新行。框架中是否为此内置了任何内容?我试图阅读以下页面:

https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs

但似乎该页面不适用于此?我可以参考其他文档吗?谢谢!

4

3 回答 3

3

听起来您需要linebreaksbr模板过滤器。

通常,您会在模板中使用它:

{{ instance.fieldname|linebreaksbr }}

但是,也可以导入它并在您的视图中使用它:

from django.template.defaultfilters import linebreaksbr
text_with_br = linebreaksbr(instance.fieldname)

使用linebreaksbr而不是编写自己的代码段的优点是 linebreaksbr 会为您处理自动转义

于 2012-07-22T18:06:38.677 回答
0

我决定按以下方式进行:"<br />".join(word.split("\n")). 不确定这是否是最好的方法......仍在深入研究它。它当然有效!

于 2012-07-22T17:28:22.707 回答
0

根据您的用例,这对您来说可能有点矫枉过正,但我​​在管理区域中使用django-tinymce将富文本编辑字段添加到将在模板中使用的字符字段。这会在数据库和模板中保存一个 html 字符串,您可以使用:

{{ model.field|safe }}

在不丢失 html 格式的情况下输出它。这很容易设置。

于 2012-07-22T21:19:32.013 回答