Django extends 标签

Extends

extends 标签让您可以为当前模板添加父模板。

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

实例

master.html:

  1. <html>
  2. <body>
  3. <h2>Welcome</h2>
  4. {% block mymessage %}
  5. {% endblock %}
  6. </body>
  7. </html>

testing_tags.html:

  1. {% extends 'master.html' %}
  2. {% block mymessage %}
  3. <p>This page has a master page</p>
  4. {% endblock %}
结果

Welcome

This page has a master page

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

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

master.html:

  1. <html>
  2. <body>
  3. {% block myheading %}
  4. {% endblock %}
  5. {% block mymessage %}
  6. {% endblock %}
  7. </body>
  8. </html>

使用主模板的模板使用 {% block %} 标签创建内容,这些内容将以相同的名称显示在 palceholder 中

testing_tags.html:

  1. {% extends 'master.html' %}
  2. {% block myheading %}
  3. <h1>Members</h1>
  4. {% endblock %}
  5. {% block mymessage %}
  6. <ul>
  7. {% for x in mymembers %}
  8. <li>{{ x.firstname }}</li>
  9. {% endfor %}
  10. </ul>
  11. {% endblock %}
结果

Members

  • Emil
  • Tobias
  • Linus
  • Lene
  • Stalikken