我创建了一个Web应用程序,我使用django生成的管理员来插入一些数据。特别是,我有以下字段:
description = models.TextField(max_length=10000, null=True, blank=True)
在管理员中,它显示为文本区域,我可以在其中插入新的空行。但是,当我插入类似的东西
一些文字后跟一个新的空行。
其他一些文字。
我在调用REST API的HTML页面中获得的结果是这样的:
Some text followed by a new emtpy line. Some other text.
因此,一些空格出现在新行的位置。如果我删除空行并插入换行符,则空格会减少数量。
访问该字段的REST API将返回以下内容:
一些文字后跟一个新的空行。\ r \ n \ r \ \其他一些文字。
如果描述正确存储到数据库中,我如何保留空行?
我用linebreaks解决了这个问题它会在html中将换行符转换为br标签。例如:
<p>{{ description | linebreaks}}</p>
可以通过为文本容器添加css指令来解决此问题:
white-space: pre-line;
使用autoescape和安全过滤器,它不仅适用于/ n / r,还适用于其他richtext标签。
我使用过这样的东西:
{% autoescape on %}
<div>{{ description|safe }}</div>
{% endautoescape %}
您可以将换行符转换为中断。
description = description.replace('\r\n', '<br />')
在模板中,使用safe
过滤器输出。
{{ description | safe }}
qazxsw poi过滤器禁用html转义。 qazxsw poi