美文网首页
django的模板 - 模板继承

django的模板 - 模板继承

作者: _琳哥 | 来源:发表于2018-01-20 20:16 被阅读88次

  • 模板继承可以减少页面内容的重复定义,实现页面内容的重用

  • 典型应用:网站的头部、尾部是一样的,这些内容可以定义在父模板中,子模板不需要重复定义

  • block标签:在父模板中预留区域,在子模板中填充

  • extends继承:继承,写在模板文件的第一行

  • 定义父模板base.html

{ %block block_name%}
这里可以定义默认值
如果不定义默认值,则表示空字符串
{ %endblock%}
  • 定义子模板index.html
{ % extends "base.html" %}
  • 在子模板中使用block填充预留区域
{ %block block_name%}
实际填充内容
{ %endblock%}
注意的地方
  • 如果在模版中使用extends标签,它必须是模版中的第一个标签
  • 不能在一个模版中定义多个相同名字的block标签
  • 子模版不必定义全部父模版中的blocks,如果子模版没有定义block,则使用了父模版中的默认值
  • 如果发现在模板中大量的复制内容,那就应该把内容移动到父模板中
  • 使用可以获取父模板中block的内容
  • 为了更好的可读性,可以给endblock标签一个名字
{ % block block_name %}
区域内容
{ % endblock block_name %}

下面一个继承的示例 : 模板部分

  • base.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    {% block head %}
    {% endblock head %}
</head>
<body>
<h1>logo</h1>
<hr/>
{% block content %}
<h1>abc</h1>
{% endblock content %}
<hr/>
<h1>contact</h1>
</body>
</html>
  • base_user.html
{% extends 'booktest/base.html' %}
{% block content %}
<table border="1">
    <tr>
        <td height="300">用户导航</td>
        <td>{% block user_content %}{% endblock user_content %}</td>
    </tr>
</table>
{% endblock content %}
  • user1.html
{% extends 'booktest/base_user.html' %}
{% block user_content %}
<h1>用户中心1</h1>
{% endblock user_content %}
image.png

相关文章

  • Django 五

    目录 1.Django 模板的导入 2.Django 模板的继承 3.Django 搭建测试环境 4.Django...

  • Django模板-模板继承

    模板继承 模板继承和类的继承含义是一样的,主要是为了提高代码重用,减轻开发人员的工作量。 典型应用:网站的头部、尾...

  • Django模板[模板继承]

    模板继承 模板继承和类的继承含义是一样的,主要是为了提高代码重用,减轻开发人员的工作量。 典型应用:网站的头部、尾...

  • django的模板 - 模板继承

    模板继承可以减少页面内容的重复定义,实现页面内容的重用 典型应用:网站的头部、尾部是一样的,这些内容可以定义在父模...

  • 第五章 在线教育平台(列表详情页的开发

    列表详情页的开发 标签: django django template继承 模板继承 文件上传位置 base.ht...

  • Django模板继承

    继承: 效果: 也可以给css/js挖坑 效果:

  • Flask基础03

    模板 1 模板的继承 什么是模板的继承​ 模板的继承类似于类的继承,如果一个模板中所出现的大量内容与另一个模板...

  • Tornado框架的模板继承(四)

    一、模板的继承 1、extends{% extends filename %}继承模板,在子模板中会把父模板的所有...

  • Flask框架从入门到精通之模板导入与继承(十八)

    知识点:1、模板导入2、模板继承 一、概况 模板导入就是将另一个模板加载到当前模板中,直接渲染。模板继承和类的继承...

  • Django之Template介绍及日常应用

    Django模板语言 Django模板是一个简单的文本文档,或用Django模板语言标记的一个Python字符串。...

网友评论

      本文标题:django的模板 - 模板继承

      本文链接:https://www.haomeiwen.com/subject/vndtaxtx.html