Django开发(六)---自定义filter和simple_tag

步骤:

a.在app中创建templatetags模块(必须的)

b.创建任意.py文件,如:mytag.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 simple_tag_multi(x,y):
    return x*y

c.在使用自定义simple_tag和filter的html文件中导入之前创建的mytag.py:{%load  mytag%}

{% load mytag %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
{{ d|filter_multi:3 }}
{% simple_tag_multi 3 5 %}
</body>
</html>

d.使用simple_tag和filter

e.在setting中的INSTELLED_APPS配置当前app,不然django无法找到自定义的simple_tag

注意:filter只能传2个参数过去,包括自身,但可以使用在控制语句中; 而simple_tag可以实现多参数传入,但是不可用于控制语句中

猜你喜欢

转载自blog.csdn.net/Lzs1998/article/details/88540016