iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 25
0
自我挑戰組

邊緣學渣的python自學日記系列 第 25

Flask網站開發(五)-----模板的繼承與引用

  • 分享至 

  • xImage
  •  

1.新增兩個html檔案 base.html與navbar.html
2.主程式:

from flask import Flask,render_template
app=Flask(__name__)

@app.route("/",methods=['GET','POST'])
def home():
   return render_template('index.html') #打開index.html
@app.route("/hello",methods=['GET','POST'])
def hello():  #進入hello頁面獲得hello
   return "hello"
if __name__== "__main__":
   app.run()

3.html:
navbar.html:

<h3><a href="/">Flask</a>  <a href="/hello">hello</a></h3> 
<!navbar提供了兩個連結,一個到首頁、一個到hello>

base.html:

<html>
    <head>
 {% if title %}
<title>{{ title }}</title>
 {% else %}
<title>沒有title嗚嗚</title>
 {% endif %}
    </head>
    
    <body>
        <hr>
        {% include 'navbar.html' %} <!將navbar的兩個連結導入base.html>
        {% block content %} <!在block裡面的內容可以供繼承了base的子類別更改,若子類別沒有更改則會顯示父類別的內容>
   <h1>Parent</h1>
   {% endblock %}
    </body>
</html>
index.html
{% extends 'base.html'%} <!index.html繼承了base.html>
{% block content %}
<p>hi</p>   <!index修改了base的block內容>
{% endblock %}

4.執行結果:
https://ithelp.ithome.com.tw/upload/images/20191010/20121025wVQyZnt7BN.png
↑可以看到主程式開啟了index.html以後有了navbar.html裡面的兩個連結,並沒有顯示base.html中的Parent,而是修改後的hi
https://ithelp.ithome.com.tw/upload/images/20191010/20121025woAloyiWLR.png
↑點了hello連結就會return hello


上一篇
Flask網站開發(四)----利用迴圈與判斷式控制template
下一篇
Pandas資料分析(一)
系列文
邊緣學渣的python自學日記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言