包含

{% include %} 允许在模板中包含其他模板的内容。

{% include "foo/bar.html" %}
{% include template_name %}
{% include "name_snippet.html" with person="Jane" greeting="Hello" %}

更多详见:https://docs.djangoproject.com/en/1.10/ref/templates/builtins/#include

继承

本质上说:模板继承就是先构造一个基础框架模板,而后在其子模板中对它所包含站点共用部分或定义进行重载。

1.{% block %}

定义块

https://docs.djangoproject.com/en/1.10/ref/templates/builtins/#block

2.{% extends %}

继承父模板

https://docs.djangoproject.com/en/1.10/ref/templates/builtins/#extends

{% extends "base.html" %}
{% extends variable %}

注意事项

1.包含和继承可以把一些共同的网页模块独立出来,以减少代码的冗余。

2.如果在模板里使用{% extends %}的话,这个标签必须在所有模板标签的最前面,否则模板继承不工作。

3.通常尽可能模板里的{% block %} 越多越好,子模板不必定义所有的父block.

4.如果你需要得到父模板的块内容,{{ block.super}} 变量可以获取。

5.不能在同一个模板里定义多个同名的{% block %}


***微信扫一扫,关注“python测试开发圈”,了解更多测试教程!***

Django进阶Template篇002 - 模板包含和继承的更多相关文章

  1. Django进阶Template篇001 - 常用模板标签及过滤器

    一.模板的组成 HTML代码+逻辑控制代码 二.逻辑控制代码的组成 1.变量(使用双大括号来引用变量) {{ var_name }} 2.标签(tag)的使用(使用大括号和百分号的组成来表示使用tag ...

  2. Django进阶Model篇002 - 模型类的定义

    一.创建数据模型. 实例: 作者模型:一个作者有姓名. 作者详情模型:把作者的详情放到详情表,包含性别.email 地址和出生日期,作者详情模型与作者模型之间是一对一的关系(OneToOneField ...

  3. Django进阶Model篇—数据库操作(ORM)

    一.数据库配置 django 默认支持sqlite.mysql.oracle.postgresql数据库,像db2和sqlserver之类的数据库需要第三方的支持,具体详见https://docs.d ...

  4. Django进阶Model篇007 - 聚集查询和分组查询

    接着前面的例子,举例聚集查询和分组查询例子如下: 1.查询人民邮电出版社出了多少本书 >>> Book.objects.filter(publisher__name='人民邮电出版社 ...

  5. Django进阶Model篇005 - QuerySet常用的API

    django.db.models.query.QuerySet QuerySet特点: 1.可迭代 2.可切片 查询相关API 1.get(**kwargs):返回与所给的筛选条件相匹配的对象,返回结 ...

  6. Django进阶Form篇

    一.django表单系统中,所有的表单类都作为django.forms.Form的之类创建,包括ModelForm 关于django的表单系统,主要分两种: 1.基于django.forms.Form ...

  7. Django进阶Admin篇 - admin基本配置

    django admin 是django自带的一个后台app,提供了后台的管理功能. 基础知识点: 一.认识ModelAdmin 管理界面的定制类,如需扩展特定的model界面,需要从该类继承 二.注 ...

  8. Django进阶Model篇008 - 使用原生sql

    注意:使用原生sql的方式主要目的是解决一些很复杂的sql不能用ORM的方式写出的问题. 一.extra:结果集修改器-一种提供额外查询参数的机制 二.执行原始sql并返回模型实例 三.直接执行自定义 ...

  9. Django进阶Model篇004 - ORM常用操作

    一.增加 create和save方法 实例: 1.增加一条作者记录 >>> from hello.models import * >>> Author.object ...

随机推荐

  1. HttpSession 入门

    1. HttpSession 概述 位于 javax.servlet.http 包; HttpSession 是由 JavaWeb 提供的功能, 用来会话跟踪的类, session 是服务器端对象, ...

  2. Flask(5)- Flask-Session组件、WTForms组件、数据库连接池(POOL)

    一.Flask-Session 我们使用过flask内置的session,知道它是把session存放在浏览器,即客户端.今天要学习的flask-session是flask的第三方组件,看一下它和fl ...

  3. Touch事件分发机制

    原文:http://www.cnblogs.com/linjzong/p/4191891.html Touch事件分发中只有两个主角:ViewGroup和View.Activity的Touch事件事实 ...

  4. iOS学习之应用偏好设置

    如今,即便是最简单的计算机程序也会包含一个偏好设置窗口,用户可以在其中设置应用专属的选项.在MAC OS X中,Preferences...菜单通常位于应用菜单中.选择该菜单项会弹出一个窗口,用户可以 ...

  5. nginx限制连接

    limit_conn_zone $binary_remote_addr zone=addr:10m; locaton /download { limit_rate_after 128k; #是对每个连 ...

  6. while循环中的break、continue和else

    break:直接结束当前循环然后跳到下面的语句.break之后在循环外continue:结束本次循环,跳到下次循环.continue之后依然还在循环内else:这是while循环所特有,当循环结束之后 ...

  7. ul,li设置inline-block缝隙

    去掉换行符和空白符 margin-left: -0.5em(缝隙大小不确定) ul字号设为0,li设置字号 (有些浏览器设置最小字体) js移除空白子节点

  8. c#的yield return

    4.1 迭代器块 一个迭代器块(iterator block)是一个能够产生有序的值序列的块.迭代器块和普通语句块的区别就是其中出现的一个或多个yield语句. yield return语句产生迭代的 ...

  9. make cmake catkin_make

    在Linux下进行C语言编程,必然要采用GNU GCC来编译C源代码生成可执行程序. 一.GCC快速入门 Gcc指令的一般格式为:Gcc [选项] 要编译的文件 [选项] [目标文件] 其中,目标文件 ...

  10. ThreadLocal管理登录信息

    通常在项目中,用户登录后,我们会将用户的信息存到session,如果想在其它地方获取session中的用户信息,我们需要先获取HttpServletRequest,再通过request.getSess ...