Django模板筆記

2021-09-29 20:58:43 字數 2732 閱讀 1096

有些模版**是重複的。因此可以單獨抽取出來,以後**需要用到,就直接使用include進來就可以了。

如果想要在include子模版的時候,傳遞一些引數,那麼可以使用with ***=***的形式。示例**如下:

在前端頁面開發中。有些**是需要重複使用的。這種情況可以使用include標籤來實現。也可以使用另外乙個比較強大的方式來實現,那就是模版繼承。模版繼承類似於python中的類,在父類中可以先定義好一些變數和方法,然後在子類中實現。模版繼承也可以在父模版中先定義好一些子模版需要用到的**,然後子模版直接繼承就可以了。並且因為子模版肯定有自己的不同**,因此可以在父模版中定義乙個block介面,然後子模版再去實現。以下是父模版的**:

lang

="en"

>

>

rel=

"stylesheet"

href=""

/>

>

我的站點title

>

head

>

>

"sidebar"

>

>

>

href

="/"

>

首頁a>

li>

>

href

="/blog/"

>

部落格a>

li>

ul>

div>

"content"

>

div>

body

>

html

>

這個模版,我們取名叫做base.html,定義好乙個簡單的html骨架,然後定義好兩個block介面,讓子模版來根據具體需求來實現。子模板然後通過extends標籤來實現,示例**如下:

部落格列表

>

}h2>

>

}p>

需要注意的是:extends標籤必須放在模版的第開始的位置

子模板中的**必須放在block中,否則將不會被渲染。

如果在某個block中需要使用父模版的內容,那麼可以使用}來繼承。比如上例,,如果想要使用父模版的title,那麼可以在子模版的title block中使用}來實現。

在定義block的時候,除了在block開始的地方定義這個block的名字,還可以在block結束的時候定義名字。比如。這在大型模版中顯得尤其有用,能讓你快速的看到block包含在**。

在乙個網頁中,不僅僅只有乙個html骨架,還需要css樣式檔案,js執行檔案以及一些等。因此在dtl中載入靜態檔案是乙個必須要解決的問題。在dtl中,使用static標籤來載入靜態檔案。要使用static標籤,首先需要。載入靜態檔案的步驟如下:

確保在settings.py中設定了static_url。 (當這個專案不屬於本機電腦時,就需要在位址列加入』/static/』+檔名稱來獲取相應的靜態檔案)

staticfiles_dirs =

[os.path.join(base_dir,

"static"

)]

在模版中使用load標籤載入static標籤。比如要載入在專案的static資料夾下的style.css的檔案。那麼示例**如下:

rel=

"stylesheet"

href=""

>

如果不想每次在模版中載入靜態檔案都使用load載入static標籤,那麼可以在settings.py中的templates/options新增'builtins':['django.templatetags.static'],這樣以後在模版中就可以直接使用static標籤,而不用手動的load了。

from django.conf import settings

from django.conf.urls.static import static

urlpatterns =

[# 其他的url對映

]+ static(settings.static_url, document_root=settings.static_root)

Django 模板筆記

變數 檢視傳遞給模板的資料,要遵循識別符號規則 語法 注意 如果變數不存在,則插入的是空字串 在模板中使用點語法 1 字典 2 屬性或者方法 3 數字索引 在模板中呼叫物件中的方法,不能傳遞引數 語法 作用 1 在輸出中建立文字 2 控制邏輯或者迴圈 格式 語句 語句語句2 格式 語句語句2 注意 ...

Django學習筆記 模板

簡單點來說,無外乎就是從前端得到資料,資料在後端處理,將資料返回給前端。這裡就不說如何獲取前端資料了。之前的demo中有一種 return httpresponse u 接收這個請求後,返回的資料 但是這種基本是用不到了,正常的做法是url中的name屬性和view中render。當然也可能使用js...

Django筆記 模板Templates

django模板語言,簡寫dtl,定義在django.template包中 由startproject命令生成的settings.py定義關於模板的值 常用方式 在專案的根目錄下建立templates目錄,設定dirs值 dirs os.path join base dir,templates 模板...