• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • Django框架(一):MVC設計模式、Django簡介

    標簽: Python  django

     

    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停止服務器。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    版權聲明:本文為qq_27009517原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/qq_27009517/article/details/110856972

    智能推薦

    pythonWeb——Django框架一

    啟動mysql數據庫 以管理員的方式登錄cmd,輸入以下命令啟動mysql服務器; 關閉mysql數據庫 問題一 問題描述:無法打開web django web服務。 在進行命令:mysql manage.py runserver 即利用Django框架啟動web網頁服務時報錯,錯誤信息如下:錯誤10013 這個錯誤時由于我們的端口號8000被占用,通過cmd 命令來查詢看看被什么服務占用了: 結...

    django框架學習一

    新建django項目步驟 1.在pycharm中創建django項目 2.創建app應用(tools->run manage.py task->輸入startapp 名字) 初識urls.py與views.py urls.py url配置文件,即每個網頁對應的地址(對應是views里面的index) url配置格式: 詳細可以參考https://www.cnblogs.com/hsku...

    Django框架(一):初識

    文章目錄 一、認識Django 1、簡介 2、MVC與MVT模式 (1)MVC模式 (2)Django的MVT模式 二、Django安裝與使用 1、手動創建django項目 2、pycharm創建django項目 3、核對配置settings.py (1)配置模板文件(template)的查找路徑 (2)去掉csrf驗證 一、認識Django 1、簡介 Django,是用python語言寫的開源w...

    Django框架(一)基礎

    一、Django介紹 2003的秋天,美國的web團隊當時維護很多個web網站,這些網站需求比較多,但是時間很短,出于這個原因研發了Django框架,2005年將框架開源,2007年命名為DjangoDjango使用Python編寫的開源框架,功能齊全,市場占額是 50% 左右,剩余的就是flask和Tornado居 多。 * Django特性 優點: 重量級的框架,提供了豐富的功能組件,讓開發變...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    猜你喜歡

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    Linux C系統編程-線程互斥鎖(四)

    互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...

    精品国产乱码久久久久久蜜桃不卡