Django-CKeditor:如何在模板中显示RichTextFields

Vin*_*Mau 2 python django django-templates django-models python-3.x

问题是我想在模板中显示帖子的内容,但我不知道如何

邮政的模型是:

from ckeditor.fields import RichTextField

class Post(models.Model):

    ...
    content = RichTextField(verbose_name='contenido')
    ...
Run Code Online (Sandbox Code Playgroud)

在模板中,我有一个for来显示所有像这样的帖子:

{% for post in posts %}
    ...
    {{ post.content }}
    ...
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

但是,当我看到浏览器中的页面显示以下内容时:<p>发布内容</ p>

代替此:发布内容

tds*_*nds 7

您需要将内容标记为安全。因此,将模板更改为:

{% for post in posts %}
    ...
    {{ post.content|safe }}
    ...
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

默认情况下,HTML不会转义,因此会显示为文本,这就是为什么您看到<p>标记的原因。您需要将该字段标记为,safe以便Django将其呈现为HTML。请参阅文档以获取更多信息。