Django 入門之模板

2021-10-12 18:47:46 字數 1727 閱讀 3991

在django中,將前端的內容定義在模板中,然後再把模板交給檢視呼叫,各種漂亮、炫酷的效果就出現了。

問題如何向請求者返回乙個漂亮的頁面呢?

肯定需要用到html、css,如果想要更炫的效果還要加入js,問題來了,這麼一堆欄位串全都寫到檢視中,作為httpresponse()的引數嗎?這樣定義就太麻煩了吧,因為定義字串是不會出任何效果和錯誤的,如果有乙個專門定義前端頁面的地方就好了。

解決問題的技術來了:模板

在django中,將前端的內容定義在模板中,然後再把模板交給檢視呼叫,各種漂亮、炫酷的效果就出現了。

建立模板

為應用booktest下的檢視index建立模板index.html,目錄結構如下圖:

設定查詢模板的路徑:開啟test1/settings.py檔案,設定templates的dirs值

定義模板

開啟templtes/booktest/index.html檔案,定義**如下:

}

在模板中輸出變數語法如下,變數可能是從檢視中傳遞過來的,也可能是在模板中定義的。

}

在模板中編寫**段語法如下:

檢視呼叫模板

呼叫模板分為三步驟:

開啟booktst/views.py檔案,呼叫上面定義的模板檔案

# 1.獲取模板

template=loader.get_template('booktest/index.html')

# 2.定義上下文

context=requestcontext(request,)

# 3.渲染模板

開啟瀏覽器重新整理頁面,顯示效果如下圖:

檢視呼叫模板簡寫

檢視呼叫模板都要執行以上三部分,於是django提供了乙個函式render封裝了以上**。 方法render包含3個引數:

開啟booktst/views.py檔案,呼叫render的**如下:

from django.shortcuts import render

def index(request):

context=

return render(request,'booktest/index.html',context)

Django入門 模板繼承

learning logs a p 利用模板標籤 生成一段 該段 生成乙個與index.html的url匹配的url 第二部分生成一對塊標籤 塊名為content,是乙個佔位符,其中包含的資訊將由子模版決定 子模板並非必須定義父模板的每個塊,因此可以在父模板中定義多個塊,而子模板可以根據需要定義相應...

Django模板之模板標籤

標籤比變數更加複雜 一些在輸出中建立文字,一些通過迴圈或邏輯來控制流程,一些載入其後的變數將使用到的額外資訊到模版中。一些標籤需要開始和結束標籤 例如 標籤 內容.有些標籤不需要結束 快捷鍵 輸入tag直接回車 for標籤 迴圈遍歷可迭代變數中的每乙個元素,沒有break和continue等複雜功能...

django 模板語言入門詳解

django 模板語言所解決的問題域 1 動態生成html檔案 2 是上這個模板語言用可用於生成任何形式的文字檔案 從乙個不用模板語言生成html的例子看模板語言的優點 假設我要生成乙個 hello 樣子的頁面 不用template語言時可以寫出來的 以下是頁面的效果圖 不用模板語言的情況下 pyt...