当前分类:python>>正文

django自定义模板过滤器

来源:互联网   时间:2022年6月15日   编辑

Django虽然已经内置了不少的过滤器,但有时候需要实现一些特别的功能,不得不自己写一些过滤器。

比如,我想自己写一个过滤器用来过滤内容中的html标签,而不是使用django自带的Safe标签来解释html标签。

具体怎么做呢?

1、在你的app/应用目录下创建一个templatetags文件夹

注意,必须是这个名称,其他名称是不行的。

2、打开settings.py,在INSTALLED_APPS下添加该应用

如下:

3、在之前创建的templatetags目录下创建一个mydesc.py文件

这个py文件名是自定义的,关键是里面的内容啦

4、开始在mydesc.py文件中写你的过滤器功能了

导入两个包

from django.template import Library

register = Library()
#过滤html标签
@register.filter(name='mydesc')
def mydesc(value):
    pattern = re.compile(r'<[^>]+>', re.S)
    content = pattern.sub('', value)
    return content

这样一个名为mydesc的过滤器就创建好了。

6、如何在模板中使用?

先在模板文件中导入

{%load mydesc%}

然后就可以开始使用了

模板中:

可以和官方自带的过滤器一起使用了呢。

 

[猜你喜欢]

标签: django 过滤器