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

时间:2015-10-29 22:58:36

标签: python html django tags

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

提前谢谢。

1 个答案:

答案 0 :(得分:7)

在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,例如CKEditorTinyMCE