Django:为啥我放置在 Django Summernote 中的文本会在我的 HTML 模板中显示 HTML 标记?

Posted

技术标签:

【中文标题】Django:为啥我放置在 Django Summernote 中的文本会在我的 HTML 模板中显示 HTML 标记?【英文标题】:Django: Why does the text that I placed in Django Summernote displays HTML tags in my HTML template?Django:为什么我放置在 Django Summernote 中的文本会在我的 HTML 模板中显示 HTML 标记? 【发布时间】:2020-09-01 06:37:21 【问题描述】:

我已按照 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 %

【问题讨论】:

如果你知道html文件的模板,你能把它显示在哪里吗? 好的,我已经编辑了我的帖子并添加了 html 文件代码 【参考方案1】:

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

安全 将字符串标记为在输出之前不需要进一步的 HTML 转义。当自动转义关闭时,此过滤器无效。

您的编辑:

&lt;p&gt; post.body | safe &lt;/p&gt;

【讨论】:

以上是关于Django:为啥我放置在 Django Summernote 中的文本会在我的 HTML 模板中显示 HTML 标记?的主要内容,如果未能解决你的问题,请参考以下文章

django_summernote 所写内容的标签已暴露,未应用

我可以在 Django 的两列模板中动态放置项目吗?

使用 Django 框架时无法在 Bootstrap 中的行之间放置间距

如何并排放置 django 表单字段

为啥我的夹具没有安装在 django 项目上?

为啥我不能在 Django 项目中导入模块?