【问题标题】:Django-CKeditor: How to show RichTextFields in templatesDjango-CKeditor:如何在模板中显示 RichTextFields
【发布时间】: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 %}

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

发布内容

取而代之的是: 发布内容

【问题讨论】:

    标签: python django python-3.x django-models django-templates


    【解决方案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}}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-13
      • 1970-01-01
      • 2021-07-25
      • 2019-12-22
      • 2020-09-13
      • 2011-11-10
      • 2012-09-22
      • 1970-01-01
      相关资源
      最近更新 更多