最淺顯易懂的Django系列教程(7) 模板介紹

2021-10-06 03:30:49 字數 1321 閱讀 9895

在之前的章節中,檢視函式只是直接返回文字,而在實際生產環境中其實很少這樣用,因為實際的頁面大多是帶有樣式的html**,這可以讓瀏覽器渲染出非常漂亮的頁面。目前市面上有非常多的模板系統,其中最知名最好用的就是dtl和jinja2。dtldjango template language三個單詞的縮寫,也就是django自帶的模板語言。當然也可以配置django支援jinja2等其他模板引擎,但是作為django內建的模板語言,和django可以達到無縫銜接而不會產生一些不相容的情況。因此建議大家學習好dtl。

dtl模板是一種帶有特殊語法的html檔案,這個html檔案可以被django編譯,可以傳遞引數進去,實現資料動態化。在編譯完成後,生成乙個普通的html檔案,然後傳送給客戶端。

渲染模板有多種方式。這裡講下兩種常用的方式。

render_to_string:找到模板,然後將模板編譯後渲染成python的字串格式。最後再通過httpresponse類包裝成乙個httpresponse物件返回回去。示例**如下:

)return httpresponse(html)以上方式雖然已經很方便了。但是django還提供了乙個更加簡便的方式,直接將模板渲染成字串和包裝成httpresponse物件一步到位完成。示例**如下:

from django.shortcuts import render

defbook_list

(request)

:return render(request,

'list.html'

)

在專案的settings.py檔案中。有乙個templates配置,這個配置包含了模板引擎的配置,模板查詢路徑的配置,模板上下文的配置等。模板路徑可以在兩個地方配置。

dirs:這是乙個列表,在這個列表中可以存放所有的模板路徑,以後在檢視中使用render或者render_to_string渲染模板的時候,會在這個列表的路徑中查詢模板。

最淺顯易懂的Django系列教程(1) 虛擬環境

到目前位置,我們所有的第三方包安裝都是直接通過pip install xx的方式進行安裝的,這樣安裝會將那個包安裝到你的系統級的python環境中。但是這樣有乙個問題,就是如果你現在用django 1.10.x寫了個 然後你的領導跟你說,之前有乙個舊專案是用django 0.9開發的,讓你來維護,但...

最淺顯易懂的Django系列教程(9) 常用標籤

if標籤 if標籤相當於python中的if語句,有elif和else相對應,但是所有的標籤都需要用標籤符號 進行包裹。if標籤中可以使用 in not in is is not等判斷運算子。示例 如下 張三 p 李四 p for.in.標籤 for.in.類似於python中的for.in.可以遍...

史上最淺顯易懂的Git教程1

最先進的分布式版本控制系統 沒有之一 cvs和svn,這些集中式的版本控制系統不但速度慢,而且必須聯網才能使用 集中式版本控制系統,版本庫是集中存放在 伺服器的,而幹活的時候,用的都是自己的電腦,所以要先從 伺服器取得最新的版本,然後開始幹活,幹完活了,再把自己的活推送給 伺服器。分布式版本控制系統...