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