一、include和set语句
- 1.include语句
直接引用模板代码到指定位置,在引用处使用的代码{% include '模板名称'%}
,flask中include是从templaters这个文件夹下寻找,因此可以把模板直接放在该目录下写模板名称或者在该目录文件夹下,写对应的路径。导入模板的变量可以直接使用。
include语句主要用于多个网页都相同的内容,我觉得一个网站投放广告可能就是用的这个方法。如果网站中头部或尾部内容一样也可以使用。 - 2.set语句
主要用于定义变量,当定义的变量名与后台传入的变量名一致是覆盖后台传入的变量名。{% set 变量名='XXX' %}
,这样创建是全局变量,可以用with语句设置一个变量适用范围,变成一个局部变量。{% with %} {% set 变量名='XXX' %} {% endwith %} {# 或者 #} {% with set 变量名='XXX' %} {% endwith %}
二、模板的继承
- 1.模板继承的作用。include导入的模板无法修改,模板的继承可以在模板中设置block,可以较为方便在子网页中重写block标记的部分。这样既可以继承网页风格,又可以灵活展示页面。
- 2.block使用。每个block都应该给个特定的名字,以方便子网页在指定位置修改。有时为了更加灵活的更改可以放置不包含任何标签的block。block常用命令格式为:
{% block 名字 %} {% endblock %}
- 3.引用模板
{% extends "模板名" %}
,然后再子网页中重写需要修改的block。
三、加载静态资源文件
- 1.加载样式文件css,如果是static/css/base.css,使用<link>标签:
<link rel='sytlesheet' href='{{ url_for("static", filename="css/base.css") }}'>
- 2.加载js文件,如果是static/js/xxx.js,使用<script>标签:
<script src="{{ url_for('static', filename='js/index.js') }}"></script>
- 3.加载图片文件,如果是static/imags/index.jpg,使用<img>标签:
<img src="{{ url_for('static', filename='imags/index.jpg') }}" alt="">