Django extends 扩展标签

扩展

extends 标签允许您为当前模板添加父模板。

这对所有项目都非常有用。您可以拥有一个母版页,就像所有其他页面的骨架一样。

实例

master.html:

<html>
<body>

<h1>Welcome</h1>

{% block mymessage %}
{% endblock %}

</body>
</html> 

testing_tags.html:

{% extends 'master.html' %}

{% block mymessage %}
  <p>This page has a master page</p>
{% endblock %} 

结果

Welcome

This page has a master page


您在主模板中放置占位符,告诉 Django 在哪里放置哪些内容。

Django 使用 {% block %} 标签来创建占位符:

master.html:

<html>
<body>

{% block myheading %}
{% endblock %}

{% block mymessage %}
{% endblock %}

</body>
</html> 

使用主模板的模板使用 {% block %} 标签创建内容,将显示在同名的占位符中:

testing_tags.html:

{% extends 'master.html' %}

{% block myheading %}
  <h1>Members</h1>
{% endblock %}

{% block mymessage %}
  <ul>
    {% for x in mymembers %}
      <li>{{ x.firstname }}</li>
    {% endfor %}
  </ul>
{% endblock %} 

结果

Members

  • Emil
  • Tobias
  • Linus
  • Lene
  • Stalikken