flask學習筆記(六):繼承模板和block的使用
阿新 • • 發佈:2019-01-29
繼承的作用就是為了少寫一些重複的程式碼,例如導航欄的實現就需要在模板中定義一個導航欄,其他頁面使用繼承即可:
新建一個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會很快的提高開發效率!