使用 Django 传递数据时,如何在 html 中的 <p> 标记内添加新行?

Posted

技术标签:

【中文标题】使用 Django 传递数据时,如何在 html 中的 <p> 标记内添加新行?【英文标题】:How to add new line inside a <p> tag in html when using Django to pass data? 【发布时间】:2021-09-25 15:24:03 【问题描述】:

我有 Django 中的玩家模型,如下所示:

class Player(models.Model):
    name = models.CharField(max_length=200, null=False, blank=False, default='')
    description = models.TextField(max_length=1000, null=True, blank=True)

我在上下文中传递 Player 对象:

def playerView(request):
    players = Player.objects.all()
    context = 'players':players
    return render(request, 'base/players.html', context)

现在,我使用以下代码在 html 的 p 标签中呈现描述:

players.html

% for player in players %
<p>player.name</p>
<p>player.description</p>
% endfor %

但是当我尝试在其中添加带有换行符的描述时:

This is line one.
This is line two.

它呈现这样的数据:

This is line one.This is line two.

我尝试添加 我在其中一个答案中发现是换行符,但它不起作用。我也尝试添加 \n 并尝试添加 br 标签,但这也没有用。请帮我解决一下。

【问题讨论】:

【参考方案1】:

基于 django 文档,我认为 linebreaks 模板标签可以帮助你

<p>player.description|linebreaks</p>

或使用&lt;pre

【讨论】:

以上是关于使用 Django 传递数据时,如何在 html 中的 <p> 标记内添加新行?的主要内容,如果未能解决你的问题,请参考以下文章

Django - 如何在 base.html 中传递上下文?

使用django时如何在ajax调用中传递request.user?

如何将数据从 django 传递到引导模式?

django - 如何清理 url 传递的变量数据?

当 Django views.py 没有将字典值传递给 html 时如何解决?

单击表单复选框并传递复选框布尔值时如何在Django中刷新view.py?