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

asd*_*fgh 1 html python tags django

我想在django写自己的博客.我正在使用models.TextField()来保存注释,但是有一个问题:我不知道如何在内部启用标签,例如:b,img或一些源代码(特别是源代码)

先感谢您.

小智 7

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

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

在模板中显示标签相对容易.让我们说你的字符串是:

<p><b>My text here</b></p>
Run Code Online (Sandbox Code Playgroud)

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

{{ blog.text }}
Run Code Online (Sandbox Code Playgroud)

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

&gt;p&lt;&gt;b&lt;My text here&gt;/b&lt;&gt;/p&lt;
Run Code Online (Sandbox Code Playgroud)

你想要的是safe模板标签,以防止他的行为如下:

{{ blog.text|safe }}
Run Code Online (Sandbox Code Playgroud)

至于输入,最简单的方法是直接在您的博客的管理界面中输入HTML标签,如上所述.进入<p>A paragraph</p>管理界面会将其原样存储到数据库中.

要获得更加用户友好的方法,您需要考虑使用Django富文本编辑器,如CKEditorTinyMCE