1. 程式人生 > >flask學習筆記(六):繼承模板和block的使用

flask學習筆記(六):繼承模板和block的使用

繼承的作用就是為了少寫一些重複的程式碼,例如導航欄的實現就需要在模板中定義一個導航欄,其他頁面使用繼承即可:

新建一個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會很快的提高開發效率!