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 转义。当自动转义关闭时,此过滤器无效。
您的编辑:
<p> post.body | safe </p>
【讨论】:
以上是关于Django:为啥我放置在 Django Summernote 中的文本会在我的 HTML 模板中显示 HTML 标记?的主要内容,如果未能解决你的问题,请参考以下文章
django_summernote 所写内容的标签已暴露,未应用