在之前的章節中,檢視函式只是直接返回文字,而在實際生產環境中其實很少這樣用,因為實際的頁面大多是帶有樣式的html**,這可以讓瀏覽器渲染出非常漂亮的頁面。目前市面上有非常多的模板系統,其中最知名最好用的就是dtl和jinja2。 dtl 是 django template language 三個單詞的縮寫,也就是django自帶的模板語言。當然也可以配置django支援jinja2等其他模板引擎,但是作為django內建的模板語言,和django可以達到無縫銜接而不會產生一些不相容的情況。因此建議大家學習好dtl。
dtl與普通的html檔案的區別
dtl模板是一種帶有特殊語法的html檔案,這個html檔案可以被django編譯,可以傳遞引數進去,實現資料動態化。在編譯完成後,生成乙個普通的html檔案,然後傳送給客戶端。
渲染模板有多種方式。這裡講下兩種常用的方式。
1. render_to_string :
找到模板,然後將模板編譯後渲染成python的字串格式。最後再通過 httpresponse 類包裝成乙個 httpresponse 物件返回回去。示例**如下:找到模板,然後將模板編譯後渲染成python的字串格式。最後再通過 httpresponse 類包裝成乙個 httpresponse 物件返回回去。示例**如下:
return httpresponse(html)2. 直接包裝httpresponse 物件
以上方式雖然已經很方便了。但是django還提供了乙個更加簡便的方式,直接將模板渲染成字串和包裝成 httpresponse 物件一步到位完成。示例**如下:
from django.shortcuts import render
def index(request):
return render(request,'index.html')
23 模板介紹
dtl模板是一種帶有特殊語法的html檔案,這個html檔案可以被django編譯,可以傳遞引數進去,實現資料動態化。在編譯完成後,生成乙個普通的html檔案,然後傳送給客戶端。渲染模板有多種形式,首先介紹一下兩種 render to string 找到模板,將模板編譯後渲染成python的字串格式...
23種設計模式介紹
1 建立型模式 1.1 工廠模式 factory 1.2 抽象工廠模式 abstractfactory 1.3 單例模式 singleton 1.4 建造者模式 builder 1.5 原型模式 prototype 2 結構型模式 2.1 橋接模式 bridge 2.2 介面卡模式 adapter ...
專案介紹模板
面試官您好,我給您介紹 下最近我所在公司裡做的專案。這個專案的名字叫x x x,這是乙個什麼樣的專案 金融 旅遊 教育等 這個專案用到的技術棧有 vue cli4 vue2.5 vuex vue router axios vant ui sass rem等。這個專案開發周期x個月。我去這家公司的時候...