后台函数处理:
from HTMLParser import HTMLParser
class MLStripper(HTMLParser):
"""
过滤html方法
"""
def __init__(self):
self.reset()
self.fed = []
def handle_data(self, d):
self.fed.append(d)
def get_data(self):
return ''.join(self.fed)
def strip_tags(html):
"""
过滤html方法实现
"""
if html is None:
return ""
s = MLStripper()
s.feed(html)
return s.get_data()
前端模板处理:
在做django项目是,在模版中经常会用到对从view 中返回的 内容做处理的情况
1. 需要去掉html 标签
2. 需要部分去掉html 标签
3. 需要原原本本显示HTML内容。
4. 需要对一些过长的内容进行截取,只显示一部分。
下面我用一个例子来总结下常用的情况,在views.py 中有如下方法:
程序代码
def testrevomvetag(request):
context={}
context['info']="""<div>这是一号门博客<a href="http://www.yihaomen.com">一号门</a><br/><p>个人技术博客</p></div>'
'<img src="/static/images/0411331945561.jpg" />"""
return render_to_response('removetag.html',context,context_instance=RequestContext(request))
准备一个模板:

测试striptags: {{info|striptags}}
测试removetags:{{info|removetags:"a br p"}}
测试safe:{{info|safe}}
测试slice切片: {{info|striptags|slice:"10"}}
测试 escape:{{info|escape}}