首页 > 解决方案 > 如何在 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>

任何帮助表示赞赏。谢谢!

标签: pythonhtmldjangodjango-modelsdjango-templates

解决方案


您可以使用|safe模板过滤器 [Django-doc]渲染它。这将禁用转义HTML 片段,因此它将不再转换<&lt;例如:

<h1>{{ blog.title|safe }}</h1>
  <hr>
  <p>{{ blog.description|safe }}</p>

但是,您可能想查看django-ckeditor包 [GitHub],它提供了一个专用字段、小部件等,以便能够编辑与渲染相关的文本。


推荐阅读