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

Posted

技术标签:

【中文标题】Django-CKeditor:如何在模板中显示 RichTextFields【英文标题】:Django-CKeditor: How to show RichTextFields in templates 【发布时间】:2018-01-23 14:16:36 【问题描述】:

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

Post的模型是:

from ckeditor.fields import RichTextField

class Post(models.Model):

    ...
    content = RichTextField(verbose_name='contenido')
    ...

在模板中,我有一个用于显示所有类似这样的帖子:

% for post in posts %
    ...
     post.content 
    ...
% endfor %

但是当我在浏览器中看到页面时显示:

发布内容

取而代之的是: 发布内容

【问题讨论】:

【参考方案1】:

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

% for post in posts %
    ...
     post.content|safe 
    ...
% endfor %

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

【讨论】:

非常感谢!发布此问题后,我在其他帖子中看到了答案。 嘿伙计,你知道如何设置模板中的文本样式吗?我尝试<p class="bootstrap classes"> item.description|safe </p>,但bootstrap classes 没有被加载。我该如何设计它?【参考方案2】:
article.body|safe

article.body|truncatechars:150|safe

article.body|truncatewords:25|safe

【讨论】:

以上是关于Django-CKeditor:如何在模板中显示 RichTextFields的主要内容,如果未能解决你的问题,请参考以下文章

如何设置最大图像大小以在 django-ckeditor 中上传图像?

如何在管理员中使用 django-ckeditor 在服务器上上传文件和浏览器文件?

Django-CKEditor 图片上传

django-ckeditor 上传图片以外的文件

django-ckeditor 上传的图片的绝对路径

django-ckeditor上传的图像上的绝对路径