如何在django中的textarea输入中允许换行以便稍后在页面上显示此输入?
答案 0 :(得分:71)
使用适当的HTML替换纯文本中的换行符;单个换行符将成为HTML换行符(<br />
),后面跟空行的新行将成为分段符(</p>
)。
例如:
{{ value|linebreaks }}
如果值为Joel\nis a slug
,则输出为<p>Joel<br />is a slug</p>.
答案 1 :(得分:6)
不要使用{% autoescape off %}
!否则,用户控制的输入可能不会被转义,这是一种安全风险。如上所述,使用linebreaks or linebreaksbr。
答案 2 :(得分:0)
我在模板中有一个用户最小自定义输入的文本区域,我想保留用户插入的任何格式化文本以保持不变。 解决方案,我只是将Model变量更改为TextField类型。它甚至在管理员中显示用户格式化的文本。 :)
离。
class Uadds(models.Model):
title = models.CharField(max_length = 50)
description = models.TextField(max_length = 1000)
标题不会显示换行符,但说明会显示它们。 我还没有使用富文本编辑器测试它... 希望这有帮助。
答案 3 :(得分:-1)
使用{% autoescape off %} {{ your_variable }} {% endautoescape %}
。