自定义过滤器、标签、inclusion_tag
过滤器相当于python中的内置函数 自定义过滤器相当于python中自定义函数
自定义标签也是
"""
自定义过滤器 标签 inclusion_tag都需要三步走战略
1.在应用文件夹下创建一个名字必须叫templatetags文件夹
2.在创建的文件夹下创建一个任意名称的py文件
3.在该py文件内先固定写两句话
from django import template
register = template.Library()
"""
@register.filter(name='haha')
def aaa(a, b):
return a + b
@register.simple_tag(name='heihei')
def bbb(a, b, c, d):
return '%s|%s|%s|%s' % (a, b, c, d)
@register.inclusion_tag('myul.html',name='my_ul')
def my_ul(n):
new_list = []
for i in range(1,n):
new_list.append('第%s次'%i)
return locals()
"""
html页面
{% load mytag %} 一定要先加载才能使用
{
{ s|haha:111 }}
{% heihei 1 2 3 4 %}
{% my_ul 10 %}
"""
模板的继承
在母版中先使用block划定将来可以修改的区域
{
% block 自定义名称 %}
母版内容
{
% endblock %}
在子版中继承并修改指定区域
{
% extends 'home.html' %}
{
% block 自定义名称 %}
自定义其他内容