1、在项目文件夹下新增templatetags文件夹并且需要包含“__init__.py”文件;
2、在项目设置文件“settings.py”中进行app注册;
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', '项目名称', '项目名称.templatetags', ]
3、在templatetags新增Python文件,例如filter.py,然后定义自定义方法;
from django.template import Library register = Library() @register.filter def getIcon(mime): switch = { 'default': 'other_icon', 'txt': 'txt_icon', 'zip': 'zip_icon', 'docx': 'word_icon', } if switch.get(mime): return switch.get(mime) else: return switch.get('default')
4、在模板文件中使用自定义方法:
#加载过滤器 {% load filter %} #使用过滤器 {% for data in list %} <div class="filebox col-md-2 col-sm-3 col-xs-6"> <div class="file_icon {{ data.mime|getIcon }}"></div> <div class="file_name">{{ data.filename }}</div> </div> {% endfor %}