继承的作用就是为了少写一些重复的代码,例如导航栏的实现就需要在模板中定义一个导航栏,其他页面使用继承即可:
新建一个base.html,而block main的部分就是导航栏下每个页面不同的接口,由每个页面负责实现。
剩下的index和login页面通过对base的继承即可
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{% block title%}{%endblock%}</title>
<style>
.nav{
background:#3a3a3a;
height:70px
}
ul{
overflow:hidder;
}
ul li{
float:left;
list-style:none;
padding:0 10px;
line-height:70px;
}
ul li a{
color:#fff;
}
</style>
</head>
<body>
<div class="nav">
<ul>
<li><a href="#">INDEX</a></li>
<li><a href="#">QUESTION</a></li>
</ul>
</div>
{% block main %}
{% endblock %}
</body>
</html>
{% extends "base.html" %}
{% block title %}
index
{% endblock %}
{% block main %}
<h1>This is index Page!</h1>
{% endblock %}
{% extends "base.html" %}
{% block title %}
login
{% endblock %}
{% block main %}
<h1>This is login Page!</h1>
{% endblock %}
而主要的逻辑不用修改:
#-*- coding:utf-8 -*-
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def index():
return render_template("index.html")
@app.route("/login/")
def login():
return render_template("login.html")
if __name__ == "__main__":
app.run(debug=True)
最后的结果就是:
擅长使用继承和block会很快的提高开发效率!