Django项目 自定义simple_tag和 inclusion_tag

simple_tag和自定义filter相似,只是这个可以接收更灵活的参数

步骤:

1.在app中的templatetags文件夹中创建mysimple.py文件

2.mysimple.py文件内容:

from django import template
register = template.Library()
# 字符串拼接功能
@register.simple_tag(name= "old_dog")
def my_sun(arg1,arg2,arg3,arg4):
return "{}{}{}{}".format(arg1,arg2,arg3,arg4)
#返回一个html页面
@register.inclusion_tag("results.html")
def show_results(n):
n = 1 if n<1 else int(n)
data = ["第{}页".format(i) for i in range(1,n+1)]
return{"data" : data}

3.results.html 内容:
<ul>
{% for choice in data %}
<li>{{ choice }}</li>
{% endfor %}
</ul>
4.html的使用:
{% load mysimple %}           #需要先导入 
{% old_dog "1" "张" "测试" "用例" %} #这里要记得引号和引号之间加空格

{% show_results 10 %}

 

posted @ 2022-04-03 11:12  张丶先森  阅读(39)  评论(0)    收藏  举报