模板层

变量查询

使用.进行深度查询(可以查询列表的索引,字典的key以及对象的方法,但是方法不能加括号,所以只能使用没有参数的方法)

views中变量准备:
now = datetime.datetime.now()
emp_list = []
dic = {'name': 'lqz', 'age': 18, 't': [1, 2, [2, 3]]} emp_str = '' list2 = [1,2,3,6,5] list3 = [[1,2,3],[4,5,6],[7,8,9]] list4 = [[],[4,5,6],[7,8,9]] tag_str = '<a href="https://www.baidu.com">点我</a>' 

过滤器

返回不同格式的日期
{{ now|date:'Y-m-d H:i:s' }} {{ now|date }} # 有默认值可以不传参数 如果一个变量是false,使用给定的默认值。否则,使用变量的值。 {{ emp_list|default:'我是空列表' }} {{ emp_str|default:'我是空字符串' }} 返回值的长度。它对字符串和列表都起作用 {{ 'asdg'|length }} 将值格式化为一个 “人类可读的” 文件尺寸(例如 '13 KB', '4.1 MB'{{ '1024'|filesizeformat }} 切片操作 {{ 'sadgdasfdsa'|slice:'1:4' }} {{ list2|slice:'1:3' }} 如果字符串字符多于指定的字符数量,那么会被截断。截断的字符串将以可翻译的省略号序列(“...”)结尾,...会计入进长度 字符数: {{ 'asgasdfasd'|truncatechars:'8' }} 单词数:...省略号不计入长度 {{ 'i am strong'|truncatewords:'2' }} safe过滤器,可以使带标签的字符串直接被识别,不然会用&gt;代替>{{ tag_str|safe }} 也可以在Views视图中处理 from django.utils.safestring import mark_safe tag_str = mark_safe(tag_str) 俩参数可以传字符串和数字 {{ 12|add:3 }} {{ 'eee'|add:"3rrr" }}

标签

for 和 if 标签,for中的forloop
{% for foo in list3 %} {% for i in foo %} {% if forloop.first %} {{ i|add:'10' }} {% elif forloop.last %} {{ i|add:'100' }} {% else %} {{ i }} {% endif %} {% endfor %} {% endfor %}
for中的empty
{% for foo in emp_str %} {% empty %} {{ '空' }} {% endfor %}
with标签
注意:等号两边不能有空格
{% with aa=dic.name%} {{aa}} {%endwith%} {% with dic.name as name %} {{ name }} {% endwith %}

自定义过滤器

1 先去setting里面把app名字配置上
2 再app目录下创建一个templatetags模块 3 写py文件(my_test.py4 from django import template 5 register=template.Library() 6 写函数  @register.filter(name='my_add') def my_add(a,b): if type(a) == type(b): return a+b else: return str(a)+str(b) 7 模板内: {% load my_test %} {{'lqz'|my_add:'isbig' }} #最多只能传两个参数 

自定义标签

1 先去setting里面把app名字配置上
2 再app目录下创建一个templatetags模块 3 写py文件(my_test.py4 from django import template 5 register=template.Library() 6 写函数 @register.simple_tag(name='factorial') def factorial(x): if type(x) != int: return False num = 1 for i in range(x): num *= i+1 return num 7 模板: {% load my_test %} {% factorial 5 %} #以空格做分割,传参数 

静态文件导入

方法一:
<link rel="stylesheet" href="/static/mycss.css"> 方法二:改static文件的文件名不会受到影响 {% load static %} <link rel="stylesheet" href="{% static 'mycss.css' %}">

转载于:https://www.cnblogs.com/luck-L/p/9599796.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值