Django:从admin在数据库中存储新行,并通过REST API返回它们

问题描述 投票:3回答:4

我创建了一个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 \ \其他一些文字。

如果描述正确存储到数据库中,我如何保留空行?

python django rest
4个回答
3
投票

我用linebreaks解决了这个问题它会在html中将换行符转换为br标签。例如:

<p>{{ description | linebreaks}}</p>

1
投票

可以通过为文本容器添加css指令来解决此问题:

white-space: pre-line;

0
投票

使用autoescape和安全过滤器,它不仅适用于/ n / r,还适用于其他richtext标签。

我使用过这样的东西:

   {% autoescape on %}
       <div>{{ description|safe }}</div>
   {% endautoescape %}

-1
投票

您可以将换行符转换为中断。

description = description.replace('\r\n', '<br />')

在模板中,使用safe过滤器输出。

{{ description | safe }}

qazxsw poi过滤器禁用html转义。 qazxsw poi

© www.soinside.com 2019 - 2024. All rights reserved.