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 }}