Django 自定义过滤器 register filter

在app下面创建templatetags目录,记得将app添加到settings.py中的INSTALLED_APPS下;并在该目录下添加__init__.py。

如图:

                

文件内容:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from django import template
import os

register = template.Library()

#@register.filter(name="checkico")
@register.filter
def checkico(value):
    file_count = os.popen("ls /root/web/static/image/|grep %s |wc -l" % value).read()[0]
    if file_count == '0':
        target_ico = "default"
    else:
        target_ico = value
    return target_ico

这个过滤器的作用是检测目录下是否有某个图片,没有时返回默认图片。

@register.filter默认使用函数名作为过滤器名。
@register.filter(name='123')注册过滤器时使用别名123.

写完重启项目即可。

猜你喜欢

转载自blog.csdn.net/carrey_0612/article/details/88554354
今日推荐