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 truncatewordsviews.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 dateimport 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 三層,他們之間以一種外掛程式式的 松耦合的方式連線在一起,模型負責業務...