Python全栈--Day64

今日内容

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>

猜你喜欢

转载自www.cnblogs.com/python-web/p/9655034.html
今日推荐