Django MTV 模版語句

2022-05-10 09:46:33 字數 4014 閱讀 3040

1.1mvc框架(model view controller)

​ 全名是model view controller ,是軟體工程中的一種軟體架構模式,把軟體分為三個基本部分:模型(model)、檢視(view)和控制器(controller),具有耦合性低,重用性高,宣告週期成本低等優點。

最上層 是檢視層(veiw)面向使用者,它提供使用者操作介面

中間一層 是控制層(controller),負責根據使用者從檢視層輸入指令,選取"資料層"中的資料,然後對其進行相應的操作,得到結果

最底層 資料層(models)程式操作的資料或資訊

這三層緊密聯絡,但互相獨立,每一層內部變化不影響其它層,每一層都有對外提供介面,供上面一層呼叫。

1.2django中的mtv(model template view)

m:model 模型orm:負責業務物件與資料庫的物件

t:template 模版-html:負責如何把頁面展示給使用者

v:view 業務邏輯:負責業務邏輯,並在適當時候呼叫model 和template

此外:django還有urls分發器,負責將url頁面請求奮發給不同views處理,views在呼叫相應model和template

1.3string_if_invalid 設定

2.0 注釋:

{#這是注釋#}
2.1變數
#views.py

from django.shortcuts import render

class person:

def __init__(self,name,age):

self.name = name

self.age = age

def talk(self):

return "咱也不知道,咱也不敢問!"

def __str__(self):

return "person obj:{}-{}".format(self.name,self.age)

def test(request):

lst = [11,22,33]

dic =

obj = person("曹操",55)

return render(request,"test.html",)

#test.html}}

}}

#結果

11 #列表索引0的數

xjk #獲取字典name鍵的值

曹操 #獲取物件的name值

咱也不知道,咱也不敢問! #物件talk的方法

2.2 filters過濾器

1 default

}
2 filesizeformat
}
3 add

如果變數時數字?

當value = "125" 為字串

}輸出結果:127

當vlaue = 125 為數字

}輸出結果:127

}當list1 與list2是列表,那麼輸出當list1和list2相加,乙個新的列表,

}顯示結果:he...

#表示如果字串長度超過5個長度,就只顯示5個。

顯示5個字元裡,包括了三個點。

16 truncatewords
views.py

value = "hello my name is lilei what's yor name"

test.html

}顯示結果:hello my name is lilei ...

17 safe
}
def test(request):

return render(request,"test.html",}}

18 date
import datetime

now = datetime.datetime.now()

}

如果有用多個時間寫多個},這樣會**冗餘變長,可以通過配置setting.py檔案內容

datetime_format = "y年m月d日 h時i分s秒"

2.3 自定義filter

2.在python中建立py檔案,檔名自定義,要求為.py

3.在py檔案中寫:

from django import template

register = template.library() #register也不能變

4.寫函式 + 裝飾器

@register.filter

def add_xx(value,arg):

return "{}-{}".format(value,arg)

5.html使用自定義函式

}

注意:自定義filter,可以這麼設定@register.filter(is_safe=true) 保護

解題:

Django MTV 開發模式

在鑽研更多 之前,讓我們先花點時間考慮下 django 資料驅動 web 應用的總體設計。我們在前面章節提到過,django 的設計鼓勵松耦合及對應用程式中不同部分的嚴格分割。遵循這個理念的話,要想修改應用的某部分而不影響其它部分就比較容易了。在檢視函式中,我們已經討論了通過模板系統把業務邏輯和表現...

Django MTV模式詳解

出自 在正式開始coding之前,我覺得有必要 下django的mtv模式,理論和實踐相結合,才能更好的掌握一門技術。首先說說web伺服器開發領域裡著名的mvc模式,所謂mvc就是把web應用分為模型 m 控制器 c 和檢視 v 三層,他們之間以一種外掛程式式的 松耦合的方式連線在一起,模型負責業務...

Django MTV模式學習

出自 在正式開始coding之前,我覺得有必要 下django的mtv模式,理論和實踐相結合,才能更好的掌握一門技術。首先說說web伺服器開發領域裡著名的mvc模式,所謂mvc就是把web應用分為模型 m 控制器 c 和檢視 v 三層,他們之間以一種外掛程式式的 松耦合的方式連線在一起,模型負責業務...