我有一个属性的模型,
desc = models.TextField()
Run Code Online (Sandbox Code Playgroud)
我使用Django提供的管理界面输入数据,然后查看我的模板,获取并显示数据库值.
在我的管理界面中,我离开换行符(只是在我的段落之间留下空白行),但它们在我的模板中显示为单个段落.
我正在使用Django 1.3和MySQL.
Ign*_*ams 45
用适当的HTML替换纯文本中的换行符; 单个换行符成为HTML换行符(
<br />
),后面跟空行的换行符成为段落符号(</p>
).例如:
{{ value|linebreaks }}
请注意,我遇到了类似的问题,换行符没有显示出来,我意识到当 TextField 被声明为只读时,文本用 HTML 段落标签包装:
<p> text </p>
Run Code Online (Sandbox Code Playgroud)
与 pre 标签相反:
<pre> text </pre>
Run Code Online (Sandbox Code Playgroud)
Pre 标记保留新的行空间,因此如果您不将该字段设为只读,您将看到行空间。
小智 5
约翰,看来你从伊格纳西奥那里得到了很好的回答。我只是想指出我为那些可能感到困惑的人(就像我一样)使用 Ignacio 的答案所采取的步骤。在我显示文本字段的模板中,我在模板字段名称后面添加了“ |linebreaks ”(在我的例子中是“job.desc”):
<ul>
{% for job in varDataObject %}
<li>
<h4>
<a href="#" onclick='funPath("Job", {{ job.id }})'>{{ job.title }} </a>
</h4>
Description: {{ job.desc|linebreaks }}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11536 次 |
最近记录: |