模板系统,对应Django项目中文件夹templates部分。该部分主要放置html文件,通过视图函数操作html显示。
本文介绍3点内容:变量和引用,过滤器,标签,模板继承,组件
1. 变量和引用
1.1. 变量,胡子语法
html中用 {{ }} 包裹的变量名,由视图函数中的同变量名传值。
1.2. 变量的引用
用. #“用”字后面有个点
比如列表name_lst = ['张三','李四','王五'],要使用列表元素,就用这个格式name_lst.0,name_lst.2
比如字典person_info={'name':'小红','age':88,'gender':'male'},要使用字典的值,就用这个格式person_info.age,person_info.gender
2. Filter,过滤器
在变量名后面加管道符 | ,再加过滤器
lower
default
slice:''
date
safe管道符左边的变量(这里的变量的值一般是代码)对浏览器是安全的,请浏览器引擎直接解析。
cut:''
join.''
3. Tags 标签
3.1. for 标签
{% for %}
{% endfor %}
{% for %}
{% forloop. %}
{% endfor %}
3.2. for empty
{% for %}
一般情况,执行这里
{% empty %}
for后面变量名对应 不存在、空、False的时候,执行这里
{% endfor %}
3.3. if
3.4. if else
3.5. if elif else
{% if %}
{% elif %}
{% else %}
{% endif %}
3.6. load static
添加静态文件。项目静态文件全部放到文件夹static下
添加路径
在html页面开始写{% load static %}
在要使用图片的位置写{% static '' %} 引号里面写地址
4. 模板继承
把几个html文件中相同的部分复制出来,放到base.html中作为母版,在<font color=red>母版中</font>等待添加不同部分的代码部分写
{% block main %} 这个main是我们给这个块起的名字
{% endblock %}
在需要<font color=red>引用母版</font>的html文件中写:
{% extend ‘base.html’%}
{% block main %}
这里写,在母版base基础上添加的东西,
{% endblock %}
5. 组件
{% include 'footer.html'%} 把footer那段代码单独写到一个html中,在需要用footer的代码部分,写inlcude