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

Django models.TextField()中的换行符未在模板中呈现,django,newline,Django,Newline,我有一个带有属性的模型 desc = models.TextField() <pre> text </pre> 我使用Django提供的管理界面输入数据,然后查看了获取和显示数据库值的模板 在我的管理界面中,我留下了换行符(只是在段落之间留下空行),但它们在我的模板中显示为单个段落 我正在使用Django 1.3和MySQL。 用适当的HTML替换纯文本中的换行符;一个换行符变为HTML换行符(),一个紧跟空白行的换行符变为段落换行符() 例如: {{value |

我有一个带有属性的模型

desc = models.TextField()
<pre> text </pre>
我使用Django提供的管理界面输入数据,然后查看了获取和显示数据库值的模板

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

我正在使用Django 1.3和MySQL。

用适当的HTML替换纯文本中的换行符;一个换行符变为HTML换行符(

),一个紧跟空白行的换行符变为段落换行符(

例如:

{{value | linebreaks}}


请注意,我遇到了一个类似的问题,换行符没有出现,我意识到当一个TextField声明为readonly时,文本用HTML段落标记包装:

<p> text </p>
文本

与预标记相反:

文本

Pre标记保留新行空间,因此如果不将字段设置为只读,您将看到行空间。

John,看起来您从Ignacio那里得到了一个很好的答案。我只是想指出,对于那些可能感到困惑的人(比如我),我采取了哪些步骤来使用Ignacio的答案。在显示文本字段的模板内,我在模板字段名称后面添加了“|换行符”(在我的示例中为“job.desc”):

    {varDataObject%中作业的%s}
  • 描述:{job.desc | linebreaks}}
这适用于渲染,但如果您想保留javascript、输入值或电子邮件的
\n
,该怎么办?您好,我也在寻找相同的,我有一个带有文本字段和相应管理类的模型,我不知道该放在哪里???我们需要重写html并为它创建一个模板吗?@Mike忘了把他的嘴放在这个这么简单的解决方案中!也适用于DetailView。这个答案可能是对Ignacio回答的评论谢谢caulitomaz!我如何修复这种情况?
<ul>
    {% for job in varDataObject %}
    <li>
        <h4>
            <a href="#" onclick='funPath("Job", {{ job.id }})'>{{ job.title }} </a>
        </h4>
        Description: {{ job.desc|linebreaks }}