今日内容
1. 模板和继承
一. 母版和继承
1. 母版和继承
含义: 把多个也用共用的部分提取出来, 放在一个母版里面, 其他页面只需要继承母版就可以了.
2. 过程
第一步: 将共用部分用提取出来作为母版, 命名为base.html
第二步: 在base.html中, 通过定义block, 把每个页不同的部分区分出来
第三步: 在具体的页面中, 先继承母版
第四步: 然后用block名去指定替换母版中相应的位置
3. 注意事项
1. {% extends 'base.html' %} 母版文件书写时base.html要加引号
2. {% extends 'base.html' %} 必须放在子页面的第一行
3. 可以在base.html中定义很多block, 通常我们会额外定义一个page-css和page-js两个块
4. view.py相应的函数中返回的是对应的子页面文件而不是base.html
二. 组件和静态文件
1. 可以将常用的页面内容如导航条,页尾信息等组件保存在单独的文件中, 如navbar.html,然后在需要使用的地方按如下语法导入即可。注意这种方法对定位是无效的, 因为定位脱离了文档流.
{% include 'navbar.html' %}
2. 静态文件static导入, 用拼接的方法
<!-- 去settings.py里面查找静态文件夹的别名是什么, 指向的是/static/ -->
{% load static %}
<!-- 将别名和后面的路径拼接成完整的路径 --> <script src="{% static "mytest.js" %}"></script>
3. 某个文件多出被用到可以存为一个变量
{% load static %} {% static "images/hi.jpg" as myphoto %} <img src="{{ myphoto }}"></img>
4. 使用get_static_prefix来拼接(用的少)
{% load static %} <script src="{% get_static_prefix %}mysite.js"></sript>