Django:为什么我放在 Django Summernote 中的文本在我的 HTML 模板中显示 HTML 标签?

Django: Why does the text that I placed in Django Summernote displays HTML tags in my HTML template?

我已经按照 GitHub 的指南安装了 Django Summernote,并已成功将其添加到我的管理页面。但是,当我尝试使用 summernote 编辑文本并在 HTML 模板上查看它时,它显示代码视图而不是仅显示文本。我是 Django 的新手,所以我不确定我在这里遗漏了什么。

我应用summernote的管理页面:

我的 html 页面可以查看以上内容:

admin.py:

from django.contrib import admin
from django_summernote.admin import SummernoteModelAdmin

from .models import Post

class PostAdmin(SummernoteModelAdmin):
    summernote_fields = ('body',)

admin.site.register(Post, PostAdmin)

models.py:

from django.db import models
from django.contrib.auth.models import User

class Post(models.Model):
    ...

    body = models.TextField()

    ...

    def __str__(self):
        return self.title

编辑:我在 HTML 模板中显示“正文”的位置:

{% block body %}   

    ...

    <p>{{ post.body }}</p>

    ...

{% endblock %}

您需要在此处使用 safe 过滤器。

Safe Marks a string as not requiring further HTML escaping prior to output. When autoescaping is off, this filter has no effect.

您的编辑:

<p>{{ post.body | safe }}</p>