Django簡介
文章目錄
Django簡介
誰適合閱讀本教程?
本教程適合有Python基礎的開發者學習。
學習本教程前你需要了解
學習本教程前你需要了解一些基礎的 Web 知識及 Python 2.x 基礎教程 或 Python 3.x 基礎教程。
Django 版本對應的 Python 版本:
1. MVC設計模式
MVC設計模式:Model-View-Controller簡寫。
最早由TrygveReenskaug在1978年提出,是施樂帕羅奧多研究中心(Xerox PARC)在20世紀80年代為程序語言Smalltalk發明的一種軟件設計模式,是為了將傳統的輸入(input)、處理(processing)、輸出(output)任務運用到圖形化用戶交互模型中而設計的。隨著標準輸入輸出設備的出現,開發人員只需要將精力集中在業務邏輯的分析與實現上。后來被推薦為Oracle旗下Sun公司Java EE平臺的設計模式,并且受到越來越多的使用ColdFusion和PHP的開發者的歡迎。現在雖然不再使用原來的分工方式,但是這種分工的思想被沿用下來,廣泛應用于軟件工程中,是一種典型并且應用廣泛的軟件架構模式。后來,MVC的思想被應用在了Web開發方面,被稱為Web MVC框架。
MVC是軟件工程中常用的軟件架構模式,它是一種分離業務邏輯與顯示界面的設計方法。它把軟件系統分為三個基本部門:模型(Model)、視圖(View)和控制器(Controller)。
- 控制器Controller:對請求進行處理,負責請求轉發。
- 視圖View:界面設計人員進行圖形界面設計。
- 模型Model:編寫程序應用的功能(實現算法等等)、數據庫管理。
MVC框架的核心思想是:解耦,讓不同的代碼塊之間降低耦合,增強代碼的可擴展性和可移植性,實現向后兼容。
當前主流的開發語言如Java、PHP、Python中都有MVC框架。
2. Django簡介
2.1 MTV設計模式
Django的MTV模式本質上和MVC是一樣的,也是為了各組件間保持松耦合關系,只是定義上有些許不同,Django的MTV分別是值:
- M 代表模型(Model):負責業務對象和數據庫的關系映射(ORM)。
- T 代表模板 (Template):負責如何把頁面展示給用戶(html)。
- V 代表視圖(View):負責業務邏輯,并在適當時候調用Model和Template。
除了以上三層之外,還需要一個URL分發器,它的作用是將一個個URL的頁面請求分發給不同的View處理,View再調用相應的Model和Template,MTV的響應模式如下所示:
一般是用戶通過瀏覽器向我們的服務器發起一個請求(request),這個請求回去訪問視圖函數,(如果不涉及到數據調用,那么這個時候視圖函數返回一個模板也就是一個網頁給用戶),視圖函數調用模型,模型去數據庫查找數據,然后逐級返回,視圖函數把返回的數據填充到模板中空格中,最后返回網頁給用戶。
2.2 Django的簡單使用
2.2.1 Django的安裝
pip install django -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
2.2.2 創建Django項目
我們以最常見的電商網站為例,網站上有跟用戶有關的頁面,有跟商品有關的頁面,還有跟訂單有關的頁面,這樣的一塊內容其實就是網站的一個功能模塊。
在django中,項目的組織結構為一個項目包含多個應用,一個應用對應一個業務模塊。
創建項目的命令如下:
django-admin startproject 項目名稱
創建一個項目,項目名為djangotest。
django-admin startproject djangotest
然后我們查看下djangotest的目錄。
2.2.3 項目默認目錄說明
manage.py是項目管理文件,通過它管理項目。
然后就是與項目同名的目錄,此處為djangotest。
- init.py是一個空文件,作用是這個目錄test1可以被當作包使用。
- asgi.py是項目的asgi配置文件。
- settings.py是項目的整體配置文件。
- urls.py是項目的URL配置文件。
- wsgi.py是項目與WSGI兼容的Web服務器入口。
2.2.4 創建應用
使用一個應用開發一個業務模塊,此處創建應用名稱為booktest,完成圖書的信息維護。
python manage.py startapp booktest
- *init.py*是一個空文件,表示當前目錄booktest可以當作一個python包使用。
- tests.py文件用于開發測試用例,在實際開發中會有專門的測試人員,這個事情不需要我們來做。
- models.py文件跟數據庫操作相關。
- views.py文件跟接收瀏覽器請求,進行處理,返回頁面相關。
- admin.py文件跟網站的后臺管理相關。
- apps文件夾是django1.10之后增加的,通常里面包含對應用的配置。
2.2.5 安裝應用
應用創建成功后,需要安裝才可以使用,也就是建立應用和項目之間的關聯,在djangotest/settings.py中INSTALLED_APPS下添加應用的名稱就可以完成安裝。
初始項目的INSTALLED_APPS:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles',]
接下來在元組中添加一個新的項,當前示例為booktest:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'booktest',]
2.2.6 開發服務器
在開發階段,為了能夠快速預覽到開發的效果,django提供了一個純python編寫的輕量級web服務器,僅在開發階段使用。
運行服務器命令:
python manage.py runserver ip:端口
可以不寫IP和端口,默認IP是127.0.0.1,默認端口為8000。
服務器啟動成功:
緊接著在瀏覽器中輸入網址“127.0.0.1:8000”,可以查看當前站點開發效果。
如果增加、修改、刪除文件,服務器會自動重啟;
按ctrl+c停止服務器。
智能推薦
Django簡介和安裝
目錄 Django MVC模型 Django的MTV模型 Django的安裝 虛擬環境 Django Django是一個開放源代碼的Web應用框架,由Python寫成,其網站的特點是高質量,可維護,可擴展,Django的web項目可在短時間內完成。 MVC模型 Django是一個基于MVC構造的框架,即模型M,視圖V 和 控制器C。它是一種軟件設計典范,用一種業務邏輯、數據、界面顯示分離...
Django簡介和配置
Django的架構思想 Model 數據庫 Template 模板文件 View 業務處理 下載django: pip3 install django 創建一個Django工程 django-ad...
Django----簡介
Django ---- 簡介 Django發布于2005年,是當前Python世界里最負盛名且成熟的網絡框架。最初用來制作在線新聞的Web站點。 Django是一個用Python編寫的開放源代碼的Web應用框架(源代碼是開源的,遵守BSD版權)。采用了MVC的框架模式,也有很多人把它稱為MVT(MTV)模式。 MVC 設計模式 一種軟件設計典范,用一種業務邏輯,使數據,界面顯示分離的方法組織代碼,...
Django框架簡介
框架(framework),指為解決一個開放性的問題而設計的具有一 定約束性的支撐結構,使用框架可以幫助你快速開發特定的系統。 部署Django環境 下載安裝Django模塊 方法一:使用pip工具 更新pip的版本 首先要確保安裝了pip工具 方法二:使用git 方法三:下載Django的py包,然后使用python命令安裝 檢測是否安裝成功 安裝數據庫 django默認提供了Sqlite數據庫...
Django簡介(下)
Django簡單應用 模型的增刪改查(ORM模塊) 數據的查詢 查詢所有數據 按照指定條件查詢 計數語句 符合條件的多條數據查詢 模糊查詢 數據的增加 第一種方式: 第二種方式(重點) 關于數據庫表名的設計 關于模型與數據庫數據的關系 視圖與模型的結合使用 設計顯示用戶的操作頁面 HTML操作頁面 模型的增刪改查(ORM模塊) 數據的查詢 查詢所有數據 導包 格式:模型類名.objects.all...
猜你喜歡
django命令簡介
django命令目錄: 在cmd中輸入:dango-admin即可返回全部的django的命令 引入 Windows+R,輸入cmd,然后在命令行輸入即可返回django的全部命令: 命令代碼解釋 check:檢測所有項目是否存在問題 compilemessages:編譯語言文件,用于項目區域語言設置 dbshell:進度django配置的數據庫,可執行sql語句 diffsetti...
Django簡介及安裝
Djano簡介 基本介紹 Django是一個由python編寫的一個開放源代碼的web應用框架 Dajngo的模型是MVC模型:即 Model(模型)+ View(視圖)+ Controlle(控制器) MVC的優勢:低耦合,開發快捷,部署方便,可重用性高 ,維護成本低 特點 強大的數據庫功能 自帶強大的后臺功能 優雅的網址 MVC與MTV模型 MVC模式 是軟件工程的一種軟件架構模式,把軟件系統...
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...