自定义过滤器和标签

时间:2019-11-25
本文章向大家介绍自定义过滤器和标签,主要包括自定义过滤器和标签使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

当内置的过滤器或标签无法满足需求时候,可以自定义标签,具体操作如下:

1、在settings中的INSTALLED_APPS添加当前的app名字(现在的2.x版本都是默认自动添加可以忽略)

2、在创建的文件夹创建子文件夹templatetags(这里子文件夹的名字只能是templatetags)

3、在templatetags新建任意的.py文件,如my_tags.py,在该文件中自定义过滤器或标签,文件内容如下

from django import template
from django.utils.safestring import mark_safe

register = template.Library()  # register的名字是固定的,不可改变

# 自定义过滤器
@register.filter
def filter_multi(x, y):
    return x * y
# 自定义标签
@register.simple_tag
def filter_tag_multi(x,y):
return x*y









 4、自定义过滤器或标签必须重启django
  5、自定义过滤器或标签的使用

 {% load my_tags %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
{% load staticfiles %}
<title>Title</title>
</head>

<body>
{#自定义过滤器的使用#}
<h1>{{ salry|filter_multi:12 }}</h1>
{#自定义标签的使用#}
<h1>{% filter_tag_multi 3 5 %} </h1>
</body>
</html>

原文地址:https://www.cnblogs.com/luncky/p/11926047.html