python - 如何在 django 中 html 格式化我的博客文章?
问题描述
所以我想直接从管理页面制作一篇带有 HTML 格式的博客文章。例如,在 models.py 中,您会看到描述是一个 TextField。当我去管理页面发表博客文章时,我希望能够将 HTML 标记添加到我的博客中。因此文本字段将包含 HTML 内容。当我将博客文章调用到 HTML 模板上时,我希望它以 HTML 文件的形式读取描述,而不仅仅是文本字段。
模型.py
from django.db import models
class Blog(models.Model):
title = models.CharField(max_length=100)
description = models.TextField()
date = models.DateField()
管理页面上的 Blog.description
<HTML>
<body>
<p>Welcome to my first blog post!!</p>
</body>
</html>
博客.html
<h1>{{ blog.title }}</h1>
<hr>
<p>{{ blog.description }}</p>
任何帮助表示赞赏。谢谢!
解决方案
您可以使用|safe
模板过滤器 [Django-doc]渲染它。这将禁用转义HTML 片段,因此它将不再转换<
为<
例如:
<h1>{{ blog.title|safe }}</h1>
<hr>
<p>{{ blog.description|safe }}</p>
但是,您可能想查看django-ckeditor
包 [GitHub],它提供了一个专用字段、小部件等,以便能够编辑与渲染相关的文本。