booktest-17 自定义过滤器 模板标签没有除法和取余函数

1.在app目录下新建包,包名必须为templatetags

booktest-17 自定义过滤器 模板标签没有除法和取余函数_第1张图片

2.在该包下新建filters.py

from django.template import Library
#创建一个libray的对象
register = Library()

#过滤器就是函数,自定义过滤器至少有一个参数,前面的会传给它,至多有两个
@register.filter
def mod(num):
    return num%2 == 0

@register.filter
def mod_val(num,val):
    return num%val == 0

3.修改temp_filter.html



{% load filters %}

    
    模板过滤器
    


    
    {% for book in books %} {# {% if book.id|mod %} #} {% if book.id|mod_val:3 %}
  • {{book.btitle}}--{{book.bpub_date|date:'Y年-m月-d日'}}
  • {% else %}
  • {{book.btitle}}--{{book.bpub_date|date:'Y年-m月-d日'}}
  • {% endif %} {% endfor %}
{{content|default:'hello'}}

4.效果

booktest-17 自定义过滤器 模板标签没有除法和取余函数_第2张图片

booktest-17 自定义过滤器 模板标签没有除法和取余函数_第3张图片

 

你可能感兴趣的:(python)