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