做完前面的主頁,你可能就會想啊,不需要有實(shí)體的index.html文件直接由講解員口述,這方便是方便了,可是如果我們需要一個(gè)美麗的主頁,比如要設(shè)計(jì)字體大小,顏色什么的,難道也要讓講解員描述的天花亂墜嗎,這有些不切實(shí)際,所以,不需要實(shí)體的index.html并不算是django非常大的優(yōu)點(diǎn),django的講解員也可以不說話,直接將游客指引到相應(yīng)的html文件。
這時(shí)候,我們也要像傳統(tǒng)的php開發(fā)模式一樣,指定某個(gè)文件夾來存放這些html文件。我們之前說過,html文件就像一個(gè)個(gè)展柜,所以,我們就在myCloud文件夾下面新建一個(gè)叫templates的文件夾
我們在里面新建一個(gè)叫index.html的文件,輸入如下的html代碼
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Home Page</title>
</head>
<body>
<p>Welcome</p>
</body>
</html>

你不懂也不要緊,反正這就是一個(gè)標(biāo)準(zhǔn)的html文件,相當(dāng)于就是,我們就是按照展柜的規(guī)格,把展柜建起來了。
然后,我們命令我們的index_jiangjieyuan,別逼逼了,把游客指引到這個(gè)展柜就得了。在jiangjieyuan_mingdan.py文件中將index_jiangjieyuan函數(shù)修改一下
from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse
def index_jiangjieyuan(request):
return render(request,'index.html')

這樣一來,你再運(yùn)行服務(wù)器,顯示的就是這個(gè)index.html。這就跟傳統(tǒng)的開發(fā)模式差不多了。
django靈活的是可以在這個(gè)index.html隨時(shí)插入講解員的講解,我們先按照django的規(guī)則,在 index.html里面放入講解員插話的地方,比如說我們需要出入一句講解語位于主頁中welcome的下面,那么就在index.html中輸入如下的html代碼
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Home Page</title>
</head>
<body>
<p>Welcome</p>
<p>{{ jiangjieyu1 }}</p>
</body>
</html>

然后我們在講解員函數(shù)中插入講解員要講的話。比如今天是幾月幾號。
from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse
from datetime import date
def index_jiangjieyuan(request):
today = str(date.today())
word = "hello, today is " + today
return render(request,'index.html',{'jiangjieyu1':word})


看到django模式的好玩之處了沒有,你可以使用html文件然后再添加講解員的講解語,是不是很完美,傳統(tǒng)的方式,弄好一個(gè)個(gè)展柜,直接引領(lǐng)你到那里得了,自個(gè)看去,django模式則是,不僅有展柜,而且我們還配有講解員適當(dāng)做一些講解,當(dāng)然,你的展館沒有展柜只有講解員,吹得再怎么天花亂墜都是不行的,一定要兩者結(jié)合,才能給游客帶來完美的游覽體驗(yàn)。
如果你不會做html也沒有關(guān)系。你可以下載免費(fèi)的html,人家已經(jīng)幫你把html設(shè)計(jì)好,你只要把需要展現(xiàn)內(nèi)容的地方挖掉換成你的內(nèi)容,換成講解語就可以了。還有就是,前段后端分的比較開,設(shè)計(jì)師只要考慮如何設(shè)計(jì)HTML就可以了,怎么往里面填數(shù)據(jù),后面的數(shù)據(jù)結(jié)構(gòu)則不需要考慮,比如我們這里,設(shè)計(jì)者只要考慮在網(wǎng)頁的哪個(gè)角落放日期,日期的字體如何,顏色如何,至于我們使用什么函數(shù)獲得今日的日期則無關(guān)緊要,甚至,設(shè)計(jì)者可以不懂python,只要在他覺得該放日期的地方放一個(gè){{ date_jiangjieyu }}
然后后端的程序員記得把{ 'date_jiangjieyu': today }作為解說語返回就可以了。
這里不是html的教學(xué)環(huán)節(jié)所以不展開多說,我們這里只是用簡單的html文件。
假如,我們的HTML模板使用了CSS外部文件(這是很有可能的)或者需要呈現(xiàn)某些圖片,這時(shí)候傳統(tǒng)的開發(fā)模式的把這些文件放到HTML模板旁邊,然后根據(jù)路徑就可以加載進(jìn)去了。比如這樣

django則稍有不同,它認(rèn)為CSS文件和圖片,視頻這些應(yīng)該和HTML模板區(qū)分開來,這些不是展柜,而是我們網(wǎng)頁的靜態(tài)文件,所以我們要把他們放到一個(gè)專門的地方來保管,這個(gè)地方就叫static,假如現(xiàn)在我們需要使用一個(gè)LOGO圖片作為我們云盤的logo,那么我們需要在myCloud目錄下新建一個(gè)static文件夾,然后把logo.png放進(jìn)去,接著在index.html里面寫如下的代碼:

注:里面的那句'<img scr="static/logo.png" />' 作為HTML代碼插入簡書的時(shí)候,總是渲染失敗變成別的東西,所以只貼圖,大家諒解。

就可以看到云盤的logo了,注意這里用的是/static/logo.png好像只是填入相應(yīng)的路徑,實(shí)際上,你把logo.png放進(jìn)templates或其他地方,然后使用該路徑引用是不行的,所有的靜態(tài)文件都必須設(shè)在static文件夾里面。