1. 程式人生 > >Django基礎(1:架構流程與目錄)

Django基礎(1:架構流程與目錄)

Django 是 python 做 web 開發的一個很著名的框架,很多大型網站(比如豆瓣、YouTube)都用它開發,下面就來介紹一下 Django 的架構原理

原理

1. MVT設計模式

         M(Models):資料模型,直接對映到資料庫

         V(Views):功能檢視,編寫你的業務功能

         T(Templates):頁面模板,就是顯示在瀏覽器的 HTML 檔案

2. 架構流程圖

      流程說明:

       ①:客戶端輸入 url ,向伺服器傳送一個 HTTP 請求

       ②:WSGI 是一個能響應請求的介面部件,初學可以不管它,它把 url 傳給 URLs 路由

       ③:URLs 根據收到的 url,呼叫對應繫結的 Views, 所以 URLs 相當於導航

       ④:Views 是業務功能模組,它先從 Models 模組拿需要的資料

              Model 是資料模型模組,它通過 ORM 技術實現從類到資料庫的對映,這樣我們就可以不關心資料庫而只對類進行修改

       ⑤:Views 從Templates 拿需要的頁面模板

       ⑥:Views 根據 Models 和 Templates 的資料,實現自己的功能後把 HttpResponse 傳送給負責響應的 WSGI

              不難看出,Views 是整個框架的核心,它不僅關聯了 Models、Templates,還實現了業務功能

       ⑦:WSGI 把響應的內容發給客戶端(瀏覽器),使用者就能看到想要的網頁了

建立方法與目錄介紹

Django 官方教程錯誤

在使用通用檢視後,index.html 內容應如下:

{#<li><a href="{% url 'polls:detail' question.id %}">{{ question.question_text }}</a></li>#}
<ul>
    {% for question in latest_question_list %}
        <li><a href="{% url 'polls:detail' question.id %}">{{ question.question_text }}</a></li>
    {% endfor %}
</ul>

1. 環境準備

    Anaconda3、 一個虛擬環境、用命令 conda install django 安裝 django

2. 建立專案

  (1) 命令:django-admin startproject mysite (mysite 是自己命名的專案名稱)

  (2)目錄檔案:

      mysite/        :根目錄只是你專案的容器
          manage.py      :一個讓你用各種方式管理 Django 專案的命令列工具
          mysite/       :包含你的專案檔案的純 Python 包,裡面的檔案重要
              __init__.py   :一個空檔案,僅僅告訴 Python 這個目錄是一個 Python 包而已
              settings.py   :整個 Django 專案的配置檔案,配置資料庫、app、伺服器等
              urls.py   :url 的入口、總目錄,負責把 url 導流到對應的 app 的 urls.py (app 稍後介紹)
              wsgi.py   :專案的執行在 WSGI 相容的Web伺服器上的入口,先不管它

3. 建立應用

  (1)專案和應用的區別:

          應用是一個專門做某件事的網路應用程式——比如部落格系統,或者公共記錄的資料庫,或者簡單的投票程式。專案則是一個網站使用的配置和應用的集合

 (2)在 manage.py 同級目錄下建立 (也就是跟第二個 mysite 同級,就在第一個 mysite 之下)

 (3)命令:python manage.py startapp myapp  (myapp 是自己命名的應用名稱)

 (4)目錄檔案:         

     myapp/   :該 app 的檔案容器
         __init__.py  :初始化檔案,一個空檔案,僅僅告訴 Python 這個目錄是一個 Python 包而已
         admin.py   :管理員檔案,管理員的相關功能在這兒編寫
         apps.py  :app 配置檔案,先不管
         migrations/  :資料庫的遷移記錄檔案的目錄,裡面有自動生成的遷移記錄
             __init__.py  :初始化檔案,空檔案,作用同上面的初始化檔案一樣
         models.py  :資料模型檔案,在這兒按規定格式用類來定義你的資料模型,直接對映到資料庫
         tests.py  :測試檔案,裡面存放測試用例,測試用例不會改變資料庫和其他模組
         views.py  :檢視檔案,裡面編寫業務功能,關聯 Models、Templates,返回結果

這樣對 Django 的架構、原理、流程和目錄就瞭解得差不多了,後面我們就依靠小專案來演示編寫流程