我想在django写自己的博客。我使用models.TextField()来保存笔记,但是有一个问题:我不知道如何在里面启用标签,例如:b,img或一些源代码(特别是源代码)
提前谢谢。
答案 0 :(得分:7)
在Django应用程序中有两种处理HTML的方法。首先,由于HTML只是文本,因此TextField是一种非常直接的存储方式。
您遇到的问题是输入标签并显示它们。
在模板中显示标签相对容易。让我们说你的字符串是:
<p><b>My text here</b></p>
如果您只是在django模板中输入:
{{ blog.text }}
你会在屏幕上看到这一点,因为在幕后,Django试图通过将文本转义为:
来提供帮助。>p<>b<My text here>/b<>/p<
你想要的是safe
template tag来阻止他的行为:
{{ blog.text|safe }}
对于条目,最简单的方法是直接在您的博客的管理界面中输入HTML标签,如上所述。在管理界面中输入<p>A paragraph</p>
会将按原样存储到数据库中。
要获得更加用户友好的方法,您需要考虑rich text editor for Django,例如CKEditor或TinyMCE