#前言部分來自django book
(一)前言
大多數web應用本質上:
1、 每個頁面都是將資料庫的資料以html格式進行展現。
把資料訪問邏輯、業務邏輯和表現邏輯組合在一起的概念有時被稱為軟體架構的 model-view-controller(mvc)模式。 在這個模式中, model 代表資料訪問層,view 代表的是系統中選擇顯示什麼和怎麼顯示的部分,controller 指的是系統中根據使用者輸入並視需要訪問模型,以決定使用哪個檢視的那部分。
對於django,可以理解為遵循mvc模式:
由於 c 由框架自行處理,而 django 裡更關注的是模型(model)、模板(template)和檢視(views),django 也被稱為mtv
框架。在 mtv開發模式中:
v代表檢視(view),即業務邏輯層。 該層包含訪問模型及調取恰當模板的相關邏輯。 你可以把它看作模型與模板之間的橋梁。
如果你熟悉其它的 mvc web開發框架,比方說 ruby on rails,你可能會認為 django 檢視是控制器,而 django 模板是檢視。 很不幸,這是對 mvc 不同詮釋所引起的錯誤認識。 在 django 對 mvc 的詮釋中,檢視用來描述要展現給使用者的資料;不是資料 如何展現 ,而且展現 哪些 資料。 相比之下,ruby on rails 及一些同類框架提倡控制器負責決定向使用者展現哪些資料,而檢視則僅決定 如何 展現資料,而不是展現 哪些 資料。
兩種詮釋中沒有哪個更加正確一些。 重要的是要理解底層概念。
(二)定義模型
例如,現在有球隊、球員、主教練、雇主
(因為django 建表的時候會自動生成乙個id,除非另外指定。感覺用這個就挺方便的,所以主鍵就不用球隊編號了,球隊編號要唯一的話,做個校驗不讓使用者提交就行了)
球員:姓名、身份證號、出生日期、身高、家庭住址、手機號碼、郵箱、球隊id
主教練:姓名、身份證號、出生日期、資格證書號、級別、手機號碼、郵箱、球隊id
雇主:姓名、身份證號、球隊id
球隊 -球員:1對多。
球隊-主教練:1對1
球隊-雇主:多對多。(雖然同一級別賽事,雇主應該只能持有乙個球隊(不太了解),不過不管怎樣,這裡假定乙個人可以持有多隻球隊,乙個球隊也可以同時被多人持有)
1對於多對多關係,django會建立乙個乙個額外的表(多對多連線表)來處理他們之間的對映關係from django.db import
models
2from django import
forms3#
create your models here.45
6#球隊模型
7class
team(models.model):
8 team_num = models.charfield(max_length=100) #
球隊編號
9 team_name = models.charfield(max_length=30) #
球隊名稱
10 establish_data = models.datetimefield() #
成立時間
11 people_num = models.positiveintegerfield() #
人數12 address_home = models.charfield(max_length=200) #
主場位址13#
球員 模型
14class
player(models.model):
15 player_name = models.charfield(max_length=30) #
球員名稱
16 player_card = models.charfield(max_length=30) #
球員身份證
17 birth_data = models.datetimefield() #
出生日期
18 player_height = models.positiveintegerfield() #
球員身高
19 player_address = models.charfield(max_length=200)#
家庭住址
20 player_phone = models.positiveintegerfield() #
球員手機號
21 player_email = models.emailfield()#
郵箱22 team = models.foreignkey(team,on_delete=models.cascade)#
外來鍵23
#主教練 模型
24class
coach(models.model):
25 coach_name = models.charfield(max_length=30)#
主教練名稱
26 coach_card = models.charfield(max_length=20)
27 birth_data =models.datetimefield()
28 certificate =models.imagefield()
29 coach_level =models.positiveintegerfield()
30 coach_phone =models.positiveintegerfield()
31 coach_email =models.emailfield()
32 team = models.foreignkey(team,on_delete=models.cascade) #
外來鍵33
#雇主 模型
34class
employer(models.model):
35 employer_name = models.charfield(max_length=30)
36 employer_card = models.charfield(max_length=20)
37 team = models.manytomanyfield(team) #
定義多對多關係
這裡可以檢視完整的字段型別
python Django框架學習
django,發音為 d 唸作 jiang gou 是用python語言寫的開源web開發框架,並遵循mvc設計,且有乙個專有名詞mvt。利用瀏覽器訪問乙個 時。瀏覽器向伺服器發出請求,建立鏈結。伺服器接受到請求,處理後交予框架。通過框架對發來的請求進行動態的處理,處理結果發給伺服器,伺服器對結果進...
Python Django框架 補充
django rest framework orm框架整理 orm資料庫操作補充 models中的一對一操作 過濾 事務 django models中關於blank與null的補充說明 django 路由系統 及 檢視函式 補充 cbv和fbv django 內建admin詳解 定製快速增刪改查 f...
python Django安裝及框架搭建
要首先安裝pip,安裝完成之後我們執行以下 安裝 pip install django 1.11.7 版本號 然後檢查安裝是否成功 import django django.get version 在cmd中檢視版本號,如果有版本號,就安裝成功。2.搭建框架 輸入以下 建立框架 django adm...