MTV/MVC/Django

MVChtml

根據網上(百度百科)查到的資料,是這個意思:MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設計典範,用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯彙集到一個部件裏面,在改進和個性化定製界面及用戶交互的同時,不須要從新編寫業務邏輯。MVC被獨特的發展起來用於映射傳統的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中。很高大上哈,其實並無,它就是:一種文件的組織和管理形式!把不一樣類型的文件放到不一樣的目錄下的一種方法。固然,它帶來的好處有不少,好比先後端分離,鬆耦合等等,就不廢話了。python

MTVweb

有些web框架(Django)以爲MVC的字面意思很彆扭,就給它改了一下。view再也不是HTML相關,而是主業務邏輯了,至關於控制器。html被放在Templates中,稱做模板,因而MVC就變成了MTV。這其實就是一個文字遊戲,和MVC本質上是同樣的,換了個名字和叫法而已。數據庫

知道了這個,也就初步知道了Django屬於什麼類型的web框架了,由於django的流程是這樣的,圖片是借的django

吶,就這麼個流程,我在文章裏面也有寫,這就很少說了。後端

既然如此,django是怎麼用的,都有什麼東西?如今別管django了,也別管什麼MVC/MTV了,先看這個:瀏覽器

web框架:Web應用框架(Web application framework)是一種開發框架,用來支持動態網站、網絡應用程序及網絡服務的開發。其類型有基於請求的和基於組件的兩種框架。緩存

好了,知道了web框架,那麼就要知道web,啥是web?百科上給的太多了,我縮寫一下:web就是socket,它的生命週期是這樣的:服務器

Http請求本質
		Django程序:socket服務端
			a. 服務端監聽IP和端口
			c. 接受請求
					\r\n\r\n:請求頭和請求體
					\r\n
					&
					request.POST
					request.GET
			d. 響應:
					響應頭: location:www.baidu.com
					和
					響應體
			e. 斷開鏈接
					
		瀏覽器:    socket客戶端
			b. 瀏覽器發送:
				GET請求:
					"GET /index.html http1.1\r\nUser-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x6..\r\n\r\nAccept-Encoding:gzip\r\n\r\n"
				POST請求:
					"POST /index.html http1.1\r\nUser-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x6..\r\n\r\nAccept-Encoding:gzip\r\n\r\nuser=cqz&hobby=chen"
		
			e. 斷開鏈接

完事兒了,如今說Django,理論知識自行百度,我這裏先簡單說一下其餘操做:網絡

urls.py 網址入口,關聯到對應的views.py中的一個函數(或者generic類),訪問網址就對應一個函數。 views.py 處理用戶發出的請求,從urls.py中對應過來, 經過渲染templates中的網頁能夠將顯示內容,好比登錄後的用戶名,用戶請求的數據,輸出到網頁。 models.py 與數據庫操做相關,存入或讀取數據時用到這個,固然用不到數據庫的時候 你能夠不使用。 forms.py 表單,用戶在瀏覽器上輸入數據提交,對數據的驗證工做以及輸入框的生成等工做,固然你也能夠不使用。 templates 文件夾 views.py 中的函數渲染templates中的Html模板,獲得動態內容的網頁,固然能夠用緩存來提升速度。 admin.py 後臺,能夠用不多量的代碼就擁有一個強大的後臺。 settings.py Django 的設置,配置文件,好比 DEBUG 的開關,靜態文件的位置等

上面是簡單的django的組成,再往下看:

新建一個 django project: django-admin.py startproject project_name django-admin startproject project_name 新建 app 先進入項目目錄下,cd project_name 而後執行下面的命令 python manage.py startapp app_name django-admin.py startapp app_name 建立數據庫表 或 更改數據庫表或字段 Django 1.7.1及以上 用如下命令 建立更改的文件:python manage.py makemigrations 將生成的py文件應用到數據庫:python manage.py migrate 使用開發服務器(因爲性能問題,不推薦使用) python manage.py runserver # 默認啓動本地地址和端口
    python manage.py runserver IP地址# 啓動指定地址和默認端口
    python manage.py runserver IP地址 端口# 啓動指定地址和指定端口
 清空數據庫: python manage.py flush(此命令會詢問是 yes 仍是 no, 選擇 yes 會把數據所有清空掉,只留下空表。) 建立超級管理員: python manage.py createsuperuser --username 名字 按照提示輸入用戶名和對應的密碼就行了郵箱能夠留空,用戶名和密碼必填 修改用戶密碼能夠用: python manage.py changepassword username
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息