变量的写法
name_list:{{ name_list }}
name_dict:{{ name_dict }}
按照索引取值
使用.调用下标,不支持负数
{{ name_list.0 }} {{ name_dict.keys }} {{ name_dict.items }}
循环相关
{% for name in name_list %}
- {{ forloop.revcounter0 }} :{{ name }}
{% for n in name %}
- {{ forloop.parentloop.counter }}.{{ forloop.counter }}:{{ n }}
{% endfor %} {% endfor %}
fliter常用用法
计算长度: name_list长度{{ name_list|length }};;“王二小”长度:{{ name_list.0.1|length }}
文件大小:123456789:{{ size|filesizeformat}}
切片:王二小[1:]{{ name_list.0.1|slice:"1:" }}
默认值:没有变量 same:{{ same|default:"同样的" }}
时间:注意写法 {{ date|date:"Y-m-d h:i:s" }}
safe: 防止xss 攻击,文本变量配有safe过滤时可将文本按照代码执行
字符截断(包含三个.的总个数,参数为函数的占位数):{{ chars|truncatechars:10}}
中文字符截断:{{ words|truncatechars:10}}
文字截断(按空格计算):{{ words|truncatewords:5 }}
with用法
{% with name_list.0 as n1 %} 将长变量名改为短名:{{ n1.1 }} {% endwith %}
自定义fliter用法
- 函数的定义
- 在app文件夹下新建一个templatetags的包
- 在上述包中创建一个.py 文件
- from django import template
- 生成注册用实例register = template.Libary()
- @register.fliter(name="")
- 定义函数
- 函数使用:
- 用load导入自定义的py文件{% load my_tags %}
- 像fliter一样使用函数{{ name_list.0|addsb }}
simple_tag用法(可以传递多个参数)
- 函数的定义
- 在app文件夹下新建一个templatetags的包
- 在上述包中创建一个.py 文件
- from django import template
- 生成注册用实例register = template.Libary()
- @register.simple_tag(name="")
- 定义函数
- 函数使用:
- 用load导入自定义的py文件 {% load my_tags %}
- 逻辑函数使用的方法,参数用“”包起来,多个参数以空格分割 :{% manywords "binbin" 27 "famale" %}
inclusion用法:生成数据,然后根据html文件定义的样式返回
- 函数的定义
- 在app文件夹下新建一个templatetags的包
- 在上述包中创建一个.py 文件
- from django import template
- 生成注册用实例register = template.Libary()
- @register.inclusion_tag("文件名.html")
- 定义函数
- 函数使用:
- 在需要引用的页面,用load导入自定义的py文件 {% load my_tags %}
- 逻辑函数使用的方法,参数用“”包起来,多个参数以空格分割 :{% create_page 10 %}
动态获取static文件夹
- 加载 static :{% load static %}
- 写文件地址{% static "文件地址“%}