我有一个带有属性的模型,
desc = models.TextField()
我使用Django提供的管理界面输入数据,然后查看我的模板,获取并显示数据库值。
在我的管理界面中,我离开了换行符(只是在我的段落之间留下了空行),但它们在我的模板中显示为一个段落。
我正在使用Django 1.3和MySQL。
答案 0 :(得分:41)
使用适当的HTML替换纯文本中的换行符;单个换行符将成为HTML换行符(
<br />
),后面跟空行的新行将成为分段符(</p>
)。例如:
{{ value|linebreaks }}
答案 1 :(得分:2)
约翰,看起来你从伊格纳西奥那里得到了很好的回答。我只是想指出我为那些可能感到困惑的人(像我一样)使用Ignacio的答案所采取的步骤。在我显示文本字段的模板中,我添加了&#34; |换行符&#34;在模板字段名称后面(在我的例子中是&#34; job.desc&#34;):
{{1}}
答案 2 :(得分:0)
只是一个注释,我遇到类似的问题,新行没有出现,我意识到当TextField被声明为readonly时,文本用HTML段落标记包装:
<p> text </p>
与预标签相反:
<pre> text </pre>
Pre标签保留新的行空间,因此如果您不进行只读字段,您将看到行间距。