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 试图通过将文本转义为:
>p<>b<My text here>/b<>/p<
你想要的是 safe
template tag 来防止他这样的行为:
{{ blog.text|safe }}
至于入口,最简单的方法就是像上面那样直接在博客的管理界面中输入HTML标签。在管理界面中输入 <p>A paragraph</p>
会将 按原样 存储到数据库中。
为了更加用户友好的方法,您需要考虑 rich text editor for Django, like CKEditor or TinyMCE
我想用 Django 写我自己的博客。我正在使用 models.TextField() 来保存笔记,但有一个问题:我不知道如何在内部启用标签,例如:b、img 或一些源代码(尤其是源代码)
提前致谢。
在 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, like CKEditor or TinyMCE