做完前面的主頁,你可能就會想啊,不需要有實體的index.html文件直接由講解員口述,這方便是方便了,可是如果我們需要一個美麗的主頁,比如要設計字體大小,顏色什么的,難道也要讓講解員描述的天花亂墜嗎,這有些不切實際,所以,不需要實體的index.html并不算是django非常大的優點,django的講解員也可以不說話,直接將游客指引到相應的html文件。
這時候,我們也要像傳統的php開發模式一樣,指定某個文件夾來存放這些html文件。我們之前說過,html文件就像一個個展柜,所以,我們就在myCloud文件夾下面新建一個叫templates的文件夾
我們在里面新建一個叫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>
你不懂也不要緊,反正這就是一個標準的html文件,相當于就是,我們就是按照展柜的規格,把展柜建起來了。
然后,我們命令我們的index_jiangjieyuan,別逼逼了,把游客指引到這個展柜就得了。在jiangjieyuan_mingdan.py文件中將index_jiangjieyuan函數修改一下
from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse
def index_jiangjieyuan(request):
return render(request,'index.html')
這樣一來,你再運行服務器,顯示的就是這個index.html。這就跟傳統的開發模式差不多了。
django靈活的是可以在這個index.html隨時插入講解員的講解,我們先按照django的規則,在 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>
然后我們在講解員函數中插入講解員要講的話。比如今天是幾月幾號。
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文件然后再添加講解員的講解語,是不是很完美,傳統的方式,弄好一個個展柜,直接引領你到那里得了,自個看去,django模式則是,不僅有展柜,而且我們還配有講解員適當做一些講解,當然,你的展館沒有展柜只有講解員,吹得再怎么天花亂墜都是不行的,一定要兩者結合,才能給游客帶來完美的游覽體驗。
如果你不會做html也沒有關系。你可以下載免費的html,人家已經幫你把html設計好,你只要把需要展現內容的地方挖掉換成你的內容,換成講解語就可以了。還有就是,前段后端分的比較開,設計師只要考慮如何設計HTML就可以了,怎么往里面填數據,后面的數據結構則不需要考慮,比如我們這里,設計者只要考慮在網頁的哪個角落放日期,日期的字體如何,顏色如何,至于我們使用什么函數獲得今日的日期則無關緊要,甚至,設計者可以不懂python,只要在他覺得該放日期的地方放一個{{ date_jiangjieyu }}
然后后端的程序員記得把{ 'date_jiangjieyu': today }作為解說語返回就可以了。
這里不是html的教學環節所以不展開多說,我們這里只是用簡單的html文件。
假如,我們的HTML模板使用了CSS外部文件(這是很有可能的)或者需要呈現某些圖片,這時候傳統的開發模式的把這些文件放到HTML模板旁邊,然后根據路徑就可以加載進去了。比如這樣
django則稍有不同,它認為CSS文件和圖片,視頻這些應該和HTML模板區分開來,這些不是展柜,而是我們網頁的靜態文件,所以我們要把他們放到一個專門的地方來保管,這個地方就叫static,假如現在我們需要使用一個LOGO圖片作為我們云盤的logo,那么我們需要在myCloud目錄下新建一個static文件夾,然后把logo.png放進去,接著在index.html里面寫如下的代碼:
注:里面的那句'<img scr="static/logo.png" />' 作為HTML代碼插入簡書的時候,總是渲染失敗變成別的東西,所以只貼圖,大家諒解。
就可以看到云盤的logo了,注意這里用的是/static/logo.png好像只是填入相應的路徑,實際上,你把logo.png放進templates或其他地方,然后使用該路徑引用是不行的,所有的靜態文件都必須設在static文件夾里面。