模版继承和block的目的就是为了减少前端代码量
flask_ones.py
#encoding:utf-8from flask import Flask,url_for,redirect,render_templateapp = 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)
html文件
#################### index.html ##################Title 这是index页面
#####################login.html###################登陆页面 这是login页面
对比index.html和login.html的代码发现,除了红色的代码部分,其余代码均一样,而如果有其他更多类似的页面,会加大代码的量,因此引出以下的模版继承和block
语法:
{% extends "base.html" %}{% block name %} ....{% endblock %}
所以以上代码简化为:
同级目录新建一个common.html,将相同的代码部分通过继承带进去,如下:
common.html(公共代码部分)
Title {% block main %} {% endblock %}
此时index.html和login.html代码为:
#index.html
{% extends "base.html" %} #代表继承base.html{% block main %} #这里的main要与base.html里blcok的设定的名字相同这是index页面
#将这里的内容传到base.html的block下,并在本文件里应用{% endblock %} #login.html{% extends "base.html" %}{% block main %}这是登陆页面
{% endblock %}