我的 MySQL 表中有一个text
字段。我想用<br>
模板的或某种格式来格式化所有新行。框架中是否为此内置了任何内容?我试图阅读以下页面:
https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs
但似乎该页面不适用于此?我可以参考其他文档吗?谢谢!
我的 MySQL 表中有一个text
字段。我想用<br>
模板的或某种格式来格式化所有新行。框架中是否为此内置了任何内容?我试图阅读以下页面:
https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs
但似乎该页面不适用于此?我可以参考其他文档吗?谢谢!
听起来您需要linebreaksbr
模板过滤器。
通常,您会在模板中使用它:
{{ instance.fieldname|linebreaksbr }}
但是,也可以导入它并在您的视图中使用它:
from django.template.defaultfilters import linebreaksbr
text_with_br = linebreaksbr(instance.fieldname)
使用linebreaksbr
而不是编写自己的代码段的优点是 linebreaksbr 会为您处理自动转义。
我决定按以下方式进行:"<br />".join(word.split("\n"))
. 不确定这是否是最好的方法......仍在深入研究它。它当然有效!
根据您的用例,这对您来说可能有点矫枉过正,但我在管理区域中使用django-tinymce将富文本编辑字段添加到将在模板中使用的字符字段。这会在数据库和模板中保存一个 html 字符串,您可以使用:
{{ model.field|safe }}
在不丢失 html 格式的情况下输出它。这很容易设置。