? ? ? ? 前面介紹過Django項(xiàng)目創(chuàng)建app忿等,里面演示時(shí)直接返回了一個(gè)HttpResponse旭咽。但是實(shí)際開發(fā)中很少直接返回一個(gè)HttpResponse聊训,一般都是使用html倔喂。這里就來介紹一下具體怎么使用礁竞。
創(chuàng)建html
? ? ? ? 在app的目錄下面新建一個(gè)templates文件夾糖荒,在這個(gè)文件夾中可以新建html:
使用html
? ? ? ? 直接在view.py中通過render方法加載:
? ? ? ? 這里運(yùn)行的時(shí)候可能會(huì)遇到找不到html的報(bào)錯(cuò)。具體原因不清楚模捂,但是解決方法比較簡單捶朵,直接到settings.py文件指定一下templates的地址:
? ? ? ? 運(yùn)行一次之后,就可以刪除了狂男,之后運(yùn)行都會(huì)自動(dòng)到當(dāng)前app目錄下的templates文件夾下面找html综看。一般這個(gè)DIRS是配置根目錄的templates地址的,不知道為什么第一次運(yùn)行的時(shí)候沒有到當(dāng)前app下找templates岖食。
靜態(tài)文件引用
? ? ? ? html的中經(jīng)常要引用一些靜態(tài)文件红碑,這些靜態(tài)文件必須放到同一個(gè)app下面的static文件夾里面:
? ? ? ? ?不過上面這種引用方式比較死板,直接將靜態(tài)文件的地址寫死了泡垃。比較推薦的方式是這種方式:
? ? ? ? 這里加載的static析珊,其實(shí)是settings.py中的這個(gè)變量:
? ? ? ? 這樣引用靜態(tài)文件的好處是萬一路徑變更,可以直接改STATIC_URL蔑穴,不用改模板文件中的引用忠寻。
? ? ? ? 最終運(yùn)行的效果是一樣的:
總結(jié)
? ? ? ? 現(xiàn)在實(shí)際工作中基本都是前后端分離的,django項(xiàng)目主要是作為后端工程存和,很少需要python工程師寫html及其他靜態(tài)文件锡溯。不過作為初學(xué)者,了解一下django中靜態(tài)文件的使用也是可以的哑姚。
? ? ? ? 像我最近的工作中幾個(gè)測開做測試平臺(tái)祭饭,沒有前端工程師支持,就只能自己寫html叙量,畢竟老話說的好倡蝙,技多不壓身。