什么是Templates(模板引擎)
簡單來說椅文,Django的模板引擎就是HTML文件蝗肪,只是包含使用了一種特殊的模板語言(Django模板語言 Django Template Language),簡稱DTL妥凳。
如何加載第三方模板引擎
優(yōu)秀的模板引擎遠遠不止這么一個拇囊,所以Django是支持開發(fā)者對其進行擴展/修改的幻赚,我們完全可以通過在settings.py配置文件中赊窥,修改TEMPLATES中的BACKEND選項爆惧,將模板引擎換成其他任何我們希望要用的。
如何使用Django自帶的模板引擎
1.在我們的應用目錄下創(chuàng)建一個Templates的目錄锨能。(留意检激,是應用目錄,不是項目目錄腹侣,這里我們創(chuàng)建的應用目錄是blog目錄),然后在Templates目錄中創(chuàng)建我們的模板文件齿穗。(HTML文件)
2.在views.py中使用render()函數(shù)返回直接返回指定模板
3.向模板發(fā)送數(shù)據(jù)傲隶,render()函數(shù)常用參數(shù)有三個,第一個參數(shù)是request窃页,第二個參數(shù)是你需要指定的模板文件跺株,第三個參數(shù)是可選參數(shù),是用來傳遞數(shù)據(jù)到模板文件中的脖卖,系統(tǒng)支持的是dict類型的數(shù)據(jù)乒省,這里key為參數(shù)名,value為數(shù)據(jù)的值畦木,在模板中可以直接使用{{ 參數(shù)名 }}獲取到傳遞過來的值袖扛。
刷新頁面,我們就可以看到這些變化啦十籍。
到這里蛆封,我們的第一個Templates算是創(chuàng)建完成了,最后我們再提一下使用模板引擎需要注意的事項勾栗。
當我們的項目漸漸變大惨篱,應用的個數(shù)也會隨之增加,那么不同應用的模板中围俘,如果出現(xiàn)命名沖突 (同名) 的模板文件砸讳,系統(tǒng)就懵逼了,因為它分不清楚我們render()中指定的模板文件到底是哪一個界牡。
那么這個問題怎么解決呢簿寂,你可以修改文件名解決,但這絕對不是最好的辦法欢揖,系統(tǒng)推薦給我們的方案是陶耍,在每個應用下的模板目錄(Templates)下,再創(chuàng)建一個與當前應用同名的文件夾她混,將當前應用的所有模板都放在這個新的文件夾中烈钞,然后在指定模板文件的時候加上這層目錄名即可泊碑,如下圖: