Python Django:在 models.TextField() 中启用标签

Python Django: Enabling tags in models.TextField()

我想用 Django 写我自己的博客。我正在使用 models.TextField() 来保存笔记,但有一个问题:我不知道如何在内部启用标签,例如:b、img 或一些源代码(尤其是源代码)

提前致谢。

在 Django 应用程序中有两种处理 HTML 的方法。首先,由于 HTML 只是文本,TextField 是一种非常直接的存储方式。

您遇到的问题是输入标签并显示它们。

在模板中显示标签相对容易。假设您的字符串是:

<p><b>My text here</b></p>

如果您只是在 django 模板中输入:

{{ blog.text }}

您会在屏幕上看到这一点,因为在幕后 Django 试图通过将文本转义为:

&gt;p&lt;&gt;b&lt;My text here&gt;/b&lt;&gt;/p&lt;

你想要的是 safe template tag 来防止他这样的行为:

{{ blog.text|safe }}

至于入口,最简单的方法就是像上面那样直接在博客的管理界面中输入HTML标签。在管理界面中输入 <p>A paragraph</p> 会将 按原样 存储到数据库中。

为了更加用户友好的方法,您需要考虑 rich text editor for Django, like CKEditor or TinyMCE