【问题标题】:How do I html format my blog post in django?如何在 django 中 html 格式化我的博客文章?
【发布时间】:2020-12-06 00:43:51
【问题描述】:

所以我想直接从管理页面制作一篇带有 HTML 格式的博客文章。例如,在 models.py 中,您会看到描述是一个 TextField。当我去管理页面发表博客文章时,我希望能够将 HTML 标记添加到我的博客中。因此文本字段将包含 HTML 内容。当我将博客文章调用到 HTML 模板上时,我希望它以 HTML 文件的形式读取描述,而不仅仅是文本字段。

models.py

from django.db import models

class Blog(models.Model):
    title = models.CharField(max_length=100)
    description = models.TextField()
    date = models.DateField()

管理页面上的博客描述

<HTML>
<body>
<p>Welcome to my first blog post!!</p>
</body>
</html>

blog.html

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

感谢任何帮助。谢谢!

【问题讨论】:

  • 也许你可以利用javascript然后创建那些html标签?如果我没记错的话,现在在 html 中,它是作为字符串出现在那边还是不呈现?
  • 是的,它以字符串的形式出现。我不知道 javascript 寿 :/.这可能吗?
  • 你能试试这个吗:stackoverflow.com/a/12416289/3523510我想它已经回答了:)

标签: python html django django-models django-templates


【解决方案1】:

您可以使用|safe template filter [Django-doc] 渲染它。这将禁用 转义 HTML 片段,因此它将不再将 &amp;lt; 转换为 &amp;lt;,例如:

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

不过,您可能想看看django-ckeditor package [GitHub],它提供了一个专用字段、小部件等,以便能够在渲染方面编辑文本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-18
    • 2012-04-12
    • 1970-01-01
    • 1970-01-01
    • 2011-09-13
    • 2015-06-03
    • 2015-03-05
    相关资源
    最近更新 更多