Django框架(之四)模板下
一、模板常用的过滤器
- 在模版中,有时候需要对一些数据进行处理以后才能使用。一般在Python中我们是通过函数的形式来完成的。而在模版中,则是通过过滤器来实现的。过滤器使用的是|来使用。
- add,拼接字符串
{{ value|add:"2" }}
- cut:移除值中所有指定的字符串。
{{ value|cut:" " }}
- date:将一个日期按照指定的格式,格式化成字符串。
- date里面的格式字符
格式字符 | 描述 | 示例 |
---|---|---|
Y | 四位数字的年份 | 2019 |
m | 两位数字的月份 | 01-12 |
n | 月份,1-9前面没有0前缀 | 1-12 |
d | 两位数字的天 | 01-31 |
j | 天,但是1-9前面没有0前缀 | 1-31 |
g | 小时,12小时格式的,1-9前面没有0前缀 | 1-12 |
h | 小时,12小时格式的,1-9前面有0前缀 | 01-12 |
G | 小时,24小时格式的,1-9前面没有0前缀 | 1-23 |
H | 小时,24小时格式的,1-9前面有0前缀 | 01-23 |
i | 分钟,1-9前面有0前缀 | 00-59 |
s | 秒,1-9前面有0前缀 | 00-59 |
- default:如果值被评估为False,则会用default提供默认值、
{{ value|default:"nothing" }}
- first:返回列表/元组/字符串中的第一个元素。
{{ value|first }}
- last:返回列表/元组/字符串中的第一个元素。
{{ value|first }}
- floatformat:使用四舍五入的方式格式化一个浮点类型。
<li>{{ 34.32|floatformat }}</li> 34.3
<li>{{ 34.35|floatformat }}</li> 34.4
<li>{{ 34.353333|floatformat:3}}</li> 34.353
- join:类似与Python中的join,将列表/元组/字符串用指定的字符进行拼接。
{{ value|join:"/" }}
- length:获取一个列表/元组/字符串/字典的长度。
{{ value|length }}
- lower:将值中所有的字符全部转换成小写。
{{ value|lower }}
- upper:类似于lower,只不过是将指定的字符串全部转换成大写。
- random:在被给的列表/字符串/元组中随机的选择一个值。
{{ value|random }}
- 具体可以查询源代码
from django.template import defaultfilters,defaulttags
二、模版结构优化
- 引入模板
- 模板继承
1.定义父模板
2.引入父模板
- 注意:
1.extends标签必须放在模版的第一行。
2.子模板中的代码必须放在block中,否则将不会被渲染。
3.如果在某个block中需要使用父模版的内容,那么可以使用{{block.super}}来继承。
4.在定义block的时候,除了在block开始的地方定义这个block的名字,还可以在block结束的时候定义名字。
三、加载静态文件
1.首先确保django.contrib.staticfiles已经添加到settings.INSTALLED_APPS中。
2.确保在settings.py中设置了STATIC_URL。
3.先注册app,在已经安装了的app下创建一个文件夹叫做static,然后再在这个static文件夹下创建一个当前app的名字的文件夹,再把静态文件放到这个文件夹下。
4.如果有一些静态文件是不和任何app挂钩的。那么可以在settings.py中添加STATICFILES_DIRS,以后DTL就会在这个列表的路径中查找静态文件。
5…在模版中使用load标签加载static标签。
6.成果