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