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