<!--base.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<!--html中的包含关系-->
{% block head %}
{% include ['includes/_head.html', 'include/_metas.html'] %}
{% endblock head %}
</head>
<body>
<!--页头-->
<header>{% block header %}{% endblock header %}</header>
<!--block作用域问题,内层block调用外面的item-->
{% for item in items %}
<li>{% block loop_item scoped %}{{ item }}{% endblock loop_item %}</li>
{% endfor %}
<!--页体-->
<div>{% block content %}{% endblock content %}</div>
<!--页脚-->
<footer>
{% block footer %}
Copyright 2018 by <a href="www.baidu.com">Baidu</a>
{% endblock footer %}
</footer>
</body>
</html>
<!--index.html-->
<!--继承父页面-->
{% extends 'base.html' %}
<!--宏-->
{% macro input(name, value='', type='text', size=20) %}
<input type="{{ type }}" name="{{ name }}" value="{{ value }}" size="{{ size }}"/>
{% endmacro %}
<!--宏引入-->
{% import '_marcos.html' as ui %}
<!--title-->
{% block title %}{{ title }}{% endblock title %}
<!--content-->
{% block content %}
{% set links=[
("home", url_for(".index")),
("about", url_for(".about")),
("service", url_for(".service")),
("project", url_for(".project")),
] %}
<nav>
{% for label, href in links %}
{% if not loop.first %} | {% endif %}
<a href="{{ href }}">{{ label }}</a>
{% endfor %}
</nav>
<!--重复使用变量-->
<h1>{{ self.title() }}</h1>
{{ input('username') }}
{{ input('password', type='password') }}
{% endblock content %}
<!--footer-->
{% block footer %}
<hr>
<!--改写父类方法,且不覆盖父类-->
{{ super() }}
{% endblock footer %}