什麼是組合html?
有寫個過網頁的人應該知道一件事情
我的網站通常會有目錄及內文兩大部分
要是我有五個page
我們的希望是點選目錄後,只有內文改變了其他不動
傳統上我們要做到這樣的效果,大家應該都知道,非框架莫屬了
點左邊 右邊動
但是框架不僅設定麻煩,也不好用
另一派的人就使用表格的方式
把整個網頁用表格設定好
並複製5個分頁
每個分頁換掉內文的部份,其他不動
也就是說….每一個分頁保留了目錄及其他一樣的設定
每一個分頁都寫一份一樣的東西
讓他雖然超連結過去,但是""看起來""只有內文有動
這時候問題就來了
要是我目錄改了一個字,你就要很辛苦的打開五個page一個一個改
這時候django就有一個很方便的方法叫做”繼承”
來組合我們的html
方法如下
我們在index.html中把內文的部份用block包起來
id="content">
{% block content %}
index的內文
{% endblock %}
那在我的分頁上寫
{% extends 'ShowWeb/index.html' %}
{% block content %}
這個分頁的專屬內文
{% endblock %}
這個分頁就會繼承index.html的所有格式
包括title,menu等等所有的設定
並且取代掉block content的部份
所以你每個分頁都只需要寫需要取代掉的部份就可以了
很簡單吧
例如你每個分頁的title都不一樣,也想要切換
那就在index.html中把title包起來
</span><span style="color:black;" lang="EN-US">{% block title %}</span><span style="font-family:新細明體;color:black;">這是首頁</span><span style="color:black;" lang="EN-US">title{% endblock %}</span><span style="color:navy;" lang="EN-US">
分頁上再加上
{% block title %}這是分頁title{% endblock %}
就可以了
反正你想要變動的部份就用block包起來
程式就會自動判斷
如果你沒寫就用index預設的
有寫的話他就會取代掉原本的
相當方便吧

此則為私密回應
例如你的index.html大概長得像這樣 ……略 {% block title %}廖國陽牙醫診所{% endblock %} ……略 ……略 Navigation 關於診所 醫療項目 ……略 {% block content %} 這是首頁的專屬內容 {% endblock %} Back on top ^ 漏漏長對吧,包含了目錄選項、標題、頁尾、內文之類一大堆的東西但是注意 我上面紅色的部分,我使用block標籤把我在其他分頁中,可能會不一樣的部分包起來所以我的分頁整頁只需要寫這樣 {% extends 'website/index.html' %} {% block content %} {% block title %}這是我的分頁標題(例如:聯絡方式分頁){% endblock %} {% block content %} 這是分頁的專屬內容 (例如:想要聯絡我就打這支電話:香港3345678) {% endblock %} 這樣他就會把紅色包起來的部分替換掉,而其他的部分全部維持原樣包含原本index中的目錄連結、標尾等資訊都會原封不動被繼承到這個分頁這樣往後要修改只需要改index,其他繼承的分頁都不需要動很方便吧