「Django 學習筆記」1、基礎概念和MVT架構

0x00 Django 簡介

  • Django是Python寫的開源Web開發框架,主要目的是做一個簡便、快速的開發數據庫驅動的網站
  • Django遵循MVC設計模式,在Django中有個專有名詞,叫做MVT設計模式就是前輩們在開發過程中總結出來的經驗和套路MVC是一種設計模式,在這種設計模式下衍生出了MVT
  • Django中文說明文檔:https://yiyibooks.cn/xx/django_182/index.html

0x01 MVC 簡介

  • 全拼:Model View Controller
  • MVC 核心思想:解耦讓不同的模塊之間降低耦合, 增強代碼的可擴展性和可移植性, 實現更好的向後續版本的兼容開發原則 : 高內聚, 低耦合
  • MVC 解析M全拼為Model, 主要封裝對數據庫層的訪問, 內嵌ORM框架, 實現面向對象的編程來操作數據庫.V全拼為View, 用於封裝結果, 內嵌了模板引擎, 實現動態展示數據.C全拼為Controller, 用於接收GET或POST請求, 處理業務邏輯, 與Model和View交互, 返回結果.
「Django 學習筆記」1、基礎概念和MVT架構

0x02 MVT 簡介

  • MVT全拼為Model-View-Template
  • MVT核心思想: 解耦(按照模塊間的職能進行劃分,然後做解耦)
  • MVT解析M (模型)全拼為Model, 與MVC中的M功能相同, 負責數據處理, 內嵌了ORM框架.V (視圖)全拼為View, 與MVC中的C功能相同, 接收HttpRequest, 業務處理,返回HttpResponse.T (模板)全拼為Template, 與MVC中的V功能相同, 負責封裝構造要返回的html, 內嵌了模板引擎.
  • MVT 和 MVC 差異就在於黑箭頭標識出來的部分.
「Django 學習筆記」1、基礎概念和MVT架構

學習 Django, 重點就是研究 Model-View-Template 三個模塊間如何協同工作及各自模塊的代碼如何編寫。

0x03 Django安裝及項目創建

1、安裝Django

<code> pip install django/<code>

2、創建Django項目

以書籍管理系統為例,這裡創建的項目名為"book"

<code> > django-admin startproject BookManager #創建項目
 > cd BookManager
 BookManager/ > python3 manage.py startapp Book #創建應用
 BookManager/ > tree
 .
 ├── Book
 │   ├── __init__.py #表示文件Book可以被當作包使用
 │   ├── admin.py #後臺的站點管理註冊文件
 │   ├── apps.py
 │   ├── migrations #做模型遷移
 │   │   └── __init__.py
 │   ├── models.py #MVT中的M
 │   ├── tests.py #做測試用
 │   └── views.py #MVT中的V
 ├── BookManager
 │   ├── __init__.py #表示文件BookManager可以被當作包使用
 │   ├── __pycache__
 │   │   ├── __init__.cpython-37.pyc
 │   │   └── settings.cpython-37.pyc
 │   ├── asgi.py
 │   ├── settings.py #項目的整體配置文件

 │   ├── urls.py #項目的URL配置文件
 │   └── wsgi.py #項目與WSGI兼容的Web服務器入口
 └── manage.py #項目運行的入口, 指定配置文件路徑
 ​
 4 directories, 15 files/<code>

創建之後,使用PyChram打開,在setting.py的第39行下方添加'Book',即將INSTALLED_APPS修改成如下所示:

<code> INSTALLED_APPS = [
     'django.contrib.admin',
     'django.contrib.auth',
     'django.contrib.contenttypes',
     'django.contrib.sessions',
     'django.contrib.messages',
     'django.contrib.staticfiles',
     'Book', #添加此行以安裝應用
 ]/<code>

3、運行項目

在項目目錄下,執行python3 manage.py runserver即可運行

<code> python3 manage.py runserver/<code>

運行結果:

<code> BookManager/ > python3 manage.py runserver
 Watching for file changes with StatReloader
 Performing system checks...
 System check identified no issues (0 silenced).
 You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
 Run 'python manage.py migrate' to apply them.
 February 28, 2020 - 19:08:25
 Django version 3.0.3, using settings 'BookManager.settings'
 Starting development server at http://127.0.0.1:8000/
 Quit the server with CTRL-BREAK./<code>

此時,瀏覽器訪問http://127.0.0.1:8000/,出現以下界面,說明項目已經成功創建了。

「Django 學習筆記」1、基礎概念和MVT架構


分享到:


相關文章: