1、模板的导入
{% include 模板名%}
首先在你的的项目中,需要很多地方用到同一个组件(相对于头部,你进行每个页面的切换,网页最上面的头
  部不需要改变),那么这样我们可以把那个头部重新写在一个模板中,其他每个页面需要用到话,就直接在模
  板中导入头部那个模板{% include 'head.html'%}就可以了 2、模板的继承
上面模板的导入的用处就是:被导入的模板运用到某个模板中一部分。
而模板的继承呢?
就是其他模板基于一个模板(母版),就一部分需要改变,其他不需要变化,那么就用上模板的基础了
首先:你需要自己写一个模板,并在需要随url改变的内容写
{% block 名字 %}
{% endblock %} #相当于在母版中占了快区域
然后:你其他模板需要基础改模板进行修改的话,你必须先要继承母版 {% extend 母版名%}
写好了,就在下面写
{% block 名字 %}
中间就是一系列代码块
{% endblock %} 总结:1、我们用模板的继承,导入为的是减少代码冗余
2、母版中可以有多个{% block 名字 %}
{% endblock %}
3、你也在母版中的block标签中写一些代码,为何叫继承呢?面向对象应该知道吧,我在其他母版中写
     {% extend 母版名%},也就是继承了母版,block相当于基类的方法,我在子类写一个相同的方法,
     最终是实现子类里的方法。所以你在母版中block写了代码,你子类block也写了代码,母版中block
     的代码不会执行。(前提block名是一样的) 3、静态文件操作
静态文件的一些知识不说了,
假设:我在模板中多次引用到了静态文件的文件,我的setting里的STATIC_URL = '/static/',
     STATIC_URL的值发生了改变,变成了'/static11/',那么我模板那些用到静态文件的地方,
     肯定是用不了,改的话还要一个一个去改,是不是很麻烦 解决方法:哈哈,这个假设是不是熟悉,对,就是反向解析。我们也可以和解决反向解析一样的思路
方法一:
在模板中,我们先导入一个py文件 {%load static%} #这个是不是我们自定义标签那里用到过,
     索引这个static是文件导入该文件之后,我们就可以使用标签了 {%static 'css/my_css.css'%}
     就算不看源码,我们也应该知道大致怎么实现。
他肯定是使用了os.path.join()类似的方法对吧,路径拼接。
方法二:
和方法一一样,先导入static文件{%load static%}
然后 '{% get_static_prefix %}css/mycss.css ',这就是简单的字符串操作吧,
那么我们就应该能知道{% get_static_prefix %}这个标签的返回值应该就是settings
     文件里的STATIC_URL,对吧。

django-模板层基础2的更多相关文章

  1. Django模板层学习笔记

    一. 前言 Django模板层的知识包括标签.过滤器.自定义标签.自定义过滤器以及inclusion_tag,最重要的是模板的继承和导入. 首先模板层最重要的是模板语法,之前我们提过涉及到变量用模板语 ...

  2. django模板系统基础

    模板系统基础Django模板是一个string文本,它用来分离一个文档的展现和数据 模板定义了placeholder和表示多种逻辑的tags来规定文档如何展现 通常模板用来输出HTML,但是Djang ...

  3. Django模板层

    一:模板简介 二:模板语法值变量 三: 模板之过滤器 四: 模板之标签 五:自定义标签和过滤器   一:模板简介 def current_datetime(request): now=datetime ...

  4. Django——模板层(template)(模板语法、自定义模板过滤器及标签、模板继承)

    前言:当我们想在页面上给客户端返回一个当前时间,一些初学者可能会很自然的想到用占位符,字符串拼接来达到我们想要的效果,但是这样做会有一个问题,HTML被直接硬编码在 Python代码之中. 1 2 3 ...

  5. django——模板层

    每一个Web框架都需要一种很便利的方法用于动态生成HTML页面. 最常见的做法是使用模板. 模板包含所需HTML页面的静态部分,以及一些特殊的模版语法,用于将动态内容插入静态部分. 说白了,模板层就是 ...

  6. Django模板层之templates

    一 模版简介 你可能已经注意到我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python代码之中. def current_datetime(request): now ...

  7. django模板层(templates)

    1.基础部分 通过使用模板,就可以在URL中直接调用HTML,它还是松耦合的,灵活性强,而且更容易维护 而且可以将变量通过一定的方式嵌入到HTML中,最终渲染到页面,总的来说基于模板完成了数据与用户之 ...

  8. $Django 模板层(模板导入,继承)、 单表*详(增删改查,基于双下划线的查询)、static之静态文件配置

    0在python脚本中使用django环境 import osif __name__ == '__main__':    os.environ.setdefault("DJANGO_SETT ...

  9. $Django 模板层(变量、过滤器 、标签)、自定义(模板过滤器,标签)

    1 模版语法之变量:详见源码  -{{ 变量 }}:******重要******{#相当于print了该变量#} {#只写函数名 相当于()执行了#}<p>函数:{{ test }}< ...

  10. django模板层之静态文件引入优化

    1.新手使用 我们一般在初学django的情况下,引入django的静态文件一般有如下两种方式: 通过路径引用: <script type="text/javascript" ...

随机推荐

  1. 在Android源码中如何吧so库打包编译进入apk, 集成第三方库(jar和so库)

    集成第三方so和jar包 include $(CLEAR_VARS) #jar包编译            LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES :=securit ...

  2. spring+hibernate 配置多个数据源过程 以及 spring中数据源的配置方式

    spring+hibernate 配置多个数据源过程 以及 spring中数据源的配置方式[部分内容转载] 2018年03月27日 18:58:41 守望dfdfdf 阅读数:62更多 个人分类: 工 ...

  3. vue 路由权限

    import Vue from 'vue' import Router from 'vue-router' import HelloWorld from '@/components/HelloWorl ...

  4. CSS3媒体查询总结

    1.什么是媒体查询 媒体查询可以让我们根据设备显示器的特性(如视口宽度.屏幕比例.设备方向:横向或纵向)为其设定CSS样式,媒体查询由媒体类型和一个或多个检测媒体特性的条件表达式组成.媒体查询中可用于 ...

  5. Linux c获取时间

    linux c获得时间和设置时间 #include<time.h> //C语言的头文件 #include<stdio.h> //C语言的I/O void main() { ti ...

  6. 使用Unicode写文本文件:一个简单类的示例

    参考了http://forums.codeguru.com/showthread.php?457106-Unicode-text-file示例. class WOFSTREAM : public st ...

  7. day010-缓冲流、转换流、序列化流

    1.     缓冲流 又称为高效流.高效流高效的原理:使用缓冲区(数组)临时存储多个数据,减少底层资源的调用次数.从而提高读写速度. 1.1 缓冲流分类 字节缓冲流: BufferedOutputSt ...

  8. Python3基本数据类型(三、列表)

    序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字-它的位置,或索引,第一个索引是0,第二个索引是1,以此类推.Python有6个序列的内置类型,但最常见的是列表和元组.序列都可以进 ...

  9. Tomcat与MySQL的数据源连接方法

    Tomcat配置数据源,由于项目经常访问数据库,需要不断地打开关闭,这就耗费了大量的资源.所以用数据源的方式访问数据库. 大体步骤: 配置server.xml 配置项目所在的WebRoot/WEB-I ...

  10. css relative

    一.relative和absolute相煎关系 relative限制absolute 1.限制left/top/right/bottom定位 如果父元素有relative,只能根据父元素进行定位 2. ...