django 模板的继承

django中模板继承操作:

模板继承

模板继承允许你建立一个基本的”骨架”模板, 它包含你所有最常用的站点元素 并 定义了一些可以被子模板覆盖的block.

这非常有用,例如各大门户网站左边一般有导航栏,在导航栏点击不同的区域时,只有中间<body>部分的内容更新了,而<body>标签之外的内容没有变。就像博客园一样

如何使用母模板和子模板?

{% block title %}母模板的标题{% endblock %}
{% block title %}子模板的标题{% endblock %}

{% block content %}{% endblock %}
{% block content %}
    <p>子模板中的内容</p>
{% endblock %}

模板一般是成对出现的,在母模板中定义好,在子模板中直接套用,只不过需要把

{% block title %}母模板的标题{% endblock %}

{% block content %}{% endblock %}

中间的内容换成子模板自己的内容即可。

下面看看具体怎么做:

母模板:

base.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{% block title %}母模板{% endblock %}</title>
</head>
<body>
    <h1>My helpful timestamp site</h1>
    <h1>这行文字是继承母模板的!!!</h1>
    {% block content %}{% endblock %}
    <hr>
    <p>Thanks for visiting my site. </p>
    <p>这行文字也是继承母模板的!!!</p>
</body>
</html>

子模板

{% extends "base.html" %}
{% block title %}子模板{% endblock %}
{% block content %}
<table border="1">
    <thead>
    <tr>
        <th>姓名</th>
        <th>邮箱</th>
        <th>所属组</th>
    </tr>
    </thead>
    <tbody>
    {% for user in data %}
    <tr>
        <td>{{ user.Name }}</td>
        <td>{{ user.Email }}</td>
        <td>{{ user.group_list }}</td>
    </tr>
    {% endfor %}
    </tbody>
</table>
{% endblock %}

时间: 2024-11-25 13:39:46

django 模板的继承的相关文章

Django模板的继承

继承的概念: 这个其实也没什么好说的,就跟python中的继承一样的概念. 1.在父模板中,必须表示出哪些内容在字模板中允许被修改 标签:{% block 块名 %} ... {% endblock %} 作用:跟flask一样,对父模板无影响,若在子模板中进行修改,则显示修改内容,否则显示父模板中的内容. 2.在子模板中 1.指定继承与哪个父模板 {% extends "父模板的名称"%} 2.通过block标签,改写属于自己的内容 {% block 块名 %} {{ block.s

django模板之继承标签extend和添加标签include

{% extends "base.html" %} 继承,必须放在首行 {% block content %}  {% endblock %}  模板和子板都要写 {{ block.super }} 拿到模板的内容 块越多越好,扩展性强 {% load staticfiles %} {% include "test.html" %} 添加模板内容 原文地址:https://www.cnblogs.com/jintian/p/11161210.html

[py]django模板继承

参考 django模板继承 通过搞一个base.html 这个base.html可以包含两类 block片断 其他html 然后index.html继承base.html 继承关系如图 代码体现template继承 关键字 - 预设片断模板- 留坑 {% block title %} 默认标题 {% endblock %} - 预包含html文件 {% include 'nav.html' %} - index.html继承base.html {% extends 'base.html' %}

Django的模板系统和模板的继承

模板系统 语法 变量相关的 {{ name }} 这个是从views视图传过来的变量 下面这个就是我们视图传入的是一个列表,下标取值 {{ name_list.0 }} {{ name_list.1 }} {{ name_list.2 }} 如果传入的是字典那么: {{ name_dict.name }} 视图中传入的是字典列表元组等数据,把python中使用"[]"取值变为点"."取值 常用的内置filter {{ file_size|filesizeformat

Python学习---django模板继承180123

django模板继承  --20180123 a.include 模板标签 b.extend(继承)模板标签 ------include 模板标签 该标签允许在(模板中)包含其它的模板的内容. 标签的参数是所要包含的模板名称,可以是一个变量,也可以是用单/双引号硬编码的字符串. 每当在多个模板中出现相同的代码时,就应该考虑是否要使用 {% include %} 来减少重复. ------extend(继承)模板标签 先构造一个基础框架模板,而后在其子模板中对它所包含站点公用部分和定义块进行重载.

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

阅读目录(Content) 模板语法之变量 模板之过滤器 default length filesizeformat date slice truncatechars safe 模板之标签 自定义标签和过滤器 模板继承 (extend) 模板语法之include 前言:当我们想在页面上给客户端返回一个当前时间,一些初学者可能会很自然的想到用占位符,字符串拼接来达到我们想要的效果,但是这样做会有一个问题,HTML被直接硬编码在 Python代码之中. 1 2 3 4 def current_dat

Django项目实践2 - Django模板(常用语法规则)

http://blog.csdn.net/pipisorry/article/details/45727309 模板中常用的语法规则 {最新版本的Django语法可能有改变,不支持的操作可能支持了.[HTML教程 - 基本元素/标签及属性]} Django 模板标签 if/else 标签 1. 基本语法格式如下: {% if condition %} ... display {% endif %} 或者: {% if condition1 %} ... display 1 {% elif con

Django -- 模板

一切伟大的行动和思想,都有一个微不足道的开始:   -- 徐志摩<励志天下> 一切能忍受的微不足道,都有一个行动思想在脚下.   -- 小QQ <励志自己> ------------------------------------------------------------------------------------------------------ 前一节,我们把HTML直接硬编码在python中,尽管他便于解释使徒的工作原理,但是却不是一个好主意: 1.对页面设计进行

Django模板系统学习整理

block extends include三者的差别跟用法 一.定义基础模板,在html内容中定义多个block块,block由子模板引用同名block块,来决定是否替换这些部分 {% block title %}一些内容,这里可不填{% endblock %} {% block content %}一些内容,这里可不填{% endblock %} {% block footer %}一些内容,这里可不填{% endblock %} 这里 title content footer 不是变量,名字