我尝试在Django模板中使用striptags
,但它删除了所有HTML标记。我只想删除特定的HTML标记,例如<p>
或<h1>
标记。我怎样才能在template
中完成?
这是我的'Post'
模型:
POST MODEL
我有一个名为text
的字段,我的视图是这样的:
DRAFT VIEW
我在get_queryset()
方法中获取并过滤我的帖子对象/字段,然后将其返回到post_draft_list.html
,然后获取文本{{post.text}}
。文本包含一些HTML标签,我想删除它们。现在,如果我想通过bleach
清理文本字段,我该如何在我的视图中执行此操作(get_queryset)?
答案 0 :(得分:1)
<强>尝试:强>
import bleach
filtered_text = bleach.clean(data_text, tags=[u'a', u'i', u'li', u'ol', u'ul'])
在tags
中仅允许您需要的那些标记。
有关详细信息,您可以关注bleach,因为出于安全目的,从 django 1.8 开始折旧removetags
过滤器。
答案 1 :(得分:0)
您也可以使用this snippet但是该代码段使用正则表达式来解析HTML,这不是一个好主意。所以我建议像Astik一样提到bleach
。