models.TextField()中的换行符未在模板中呈现

时间:2012-04-22 18:37:11

标签: django newline

我有一个带有属性的模型,

desc = models.TextField()

我使用Django提供的管理界面输入数据,然后查看我的模板,获取并显示数据库值。

在我的管理界面中,我离开了换行符(只是在我的段落之间留下了空行),但它们在我的模板中显示为一个段落。

我正在使用Django 1.3和MySQL。

3 个答案:

答案 0 :(得分:41)

linebreaks

  

使用适当的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标签保留新的行空间,因此如果您不进行只读字段,您将看到行间距。