天天看點

我愛Django架構之Django初體驗(你想要的這都有!!!)虛拟環境Django的介紹Django項目的建立,運作和建立appDjango項目的結構Django建立app

Django架構初體驗

  • 虛拟環境
  • Django的介紹
    • Django版本與python版本對應
  • Django項目的建立,運作和建立app
    • 建立Django項目
    • 運作Django項目
  • Django項目的結構
  • Django建立app

虛拟環境

       •如果用Django 1.10.x開發了一個網站,同時有一個用Django 0.9開發的舊項目需要維護,但是Django 1.10不再相容Django 0.9的一些文法。這時候就會碰到一個問題,如何在系統環境中同時擁有Django 1.10和Django 0.9兩套不同的環境呢?

       •解決方案:我們就可以通過安裝虛拟環境來解決這個問題,建立多個虛拟環境實作環境拆分,每個虛拟環境安裝不同版本的庫,進而滿足不同的需求,各個虛拟環境之間互相獨立、不對其它環境産生影響

虛拟環境的詳細操作參考以下部落格:

python虛拟環境的安裝與配置(究極詳細易了解版!!!)

(這個關于虛拟環境的部落格也是部落客寫的,有任何問題可以私聊部落客!!!)

Django的介紹

       •Django架構的設計遵循MVC思想,但是有自己的一個名詞,叫做

MVT

,架構如下圖所示:

MVT架構——Django的架構

       •M全拼為Model,與MVC中的M功能相同,負責和資料庫互動,進行資料處V全拼為View,與MVC中的C功能相同,接收請求,進行業務處理,傳回應答

T全拼為Template,與MVC中的V功能相同,負責封裝構造要傳回的html

我愛Django架構之Django初體驗(你想要的這都有!!!)虛拟環境Django的介紹Django項目的建立,運作和建立appDjango項目的結構Django建立app

Django,發音為

[`dʒæŋɡəʊ]

,我們習慣性的讀

(醬狗!!)

Django誕生于2003年秋天,2005年釋出正式版本,由Simon和Andrian開發

Django版本與python版本對應

       •注意:我們在python中使用Django時,必須對應相應Django版本,否則會使用不了Django中的一些功能,出現bug

       •Django與Python版本對應如下:

Django版本 Python版本
1.11 2.7、3.4、3.5、3.6、3.7(在1.11.17中添加)
2.0 3.4、3.5、3.6、3.7
2.1 3.5、3.6、3.7
2.2 3.5、3.6、3.7、3.8(在2.2.8中添加)
3.0 3.6、3.7、3.8

       •關于Django版本對應更多的介紹可以檢視文檔說明:Django文檔說明

       •關于Django的更多介紹可以參考:Django官網和Django官方中文文檔

Django項目的建立,運作和建立app

建立Django項目

       •建立Django項目有兩種方式:

              •指令行建立

              •進入虛拟環境,建立相應的目錄,進入目錄,在指令行中執行指令

django-admin startproject [項目名稱]

,例如執行指令

django-admin startproject django_one

即可建立項目

django_one

項目 操作如下圖所示:

我愛Django架構之Django初體驗(你想要的這都有!!!)虛拟環境Django的介紹Django項目的建立,運作和建立appDjango項目的結構Django建立app
我愛Django架構之Django初體驗(你想要的這都有!!!)虛拟環境Django的介紹Django項目的建立,運作和建立appDjango項目的結構Django建立app

              •IDE建立

              •用PyCharm(專業版)等IDE建立Django項目,示意如下:

我愛Django架構之Django初體驗(你想要的這都有!!!)虛拟環境Django的介紹Django項目的建立,運作和建立appDjango項目的結構Django建立app

建議使用第一種指令行建立,可适用于各種Python解釋器

運作Django項目

       •運作Django項目也有2種方式:

              •指令行運作:

跳到項目目錄如django_onde下執行

python manage.py runserver

,即可運作項目,運作後就可以在浏覽器中通過http://127.0.0.1:8000/來通路

如果想要修改端口号,可以在運作的時候可以指定端口号,例如執行

python manage.py runserver 9000

就可以通過9000端口通路

              •通過PyCharm運作:

              pycharm的配置如下:

我愛Django架構之Django初體驗(你想要的這都有!!!)虛拟環境Django的介紹Django項目的建立,運作和建立appDjango項目的結構Django建立app
我愛Django架構之Django初體驗(你想要的這都有!!!)虛拟環境Django的介紹Django項目的建立,運作和建立appDjango項目的結構Django建立app

       •配置完成後,點選運作:

Watching for file changes with StatReloader
System check identified no issues (0 silenced).

You have 18 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. # 出現此提示即我們需要映射資料庫
March 10, 2021 - 21:36:52
Django version 3.1.7, using settings 'django_two.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
           

       •可以看到列印結果中,提示了要進行進行資料庫的映射

       •可以先在cmd中執行

python manage.py migrate

來映射資料庫,再運作項目就不會出現資料庫映射的提示

       •映射完成後在

django_one/settings.py

中可以看到:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}
           

       •pycharm中Django預設使用的資料庫是

sqlite3

,即檔案型資料庫,後續可以進行配置使用其它資料庫

通路http://127.0.0.1:8000/,可以看到:

我愛Django架構之Django初體驗(你想要的這都有!!!)虛拟環境Django的介紹Django項目的建立,運作和建立appDjango項目的結構Django建立app

Django項目的結構

項目主目錄中:

       •manage.py:

              •用于和項目互動,一般都是在指令行輸入python manage.py [子指令]執行相關指令,可以執行python manage.py help檢視幫助。除非有明确的目的和正确的操作方法,否則一般情況下不應該編輯這個檔案

       •項目同名子目錄:

              •settings.py:

              項目的設定檔案,所有和項目相關的配置都在settings.py中

              •urls.py:

              用來配置URL路由

              •wsgi.py:

              項目與WSGI協定相容的web伺服器入口,部署項目的時候需要用到,一般情況下不需要修改

              •除了這些檔案,還包括執行具體功能的app

Django建立app

在一個項目中,一般有很多個功能子產品,每個功能一般會對應一個app來實作其功能,兩個子產品之間的耦合度越低越好、盡量做到互相獨立

app是Django項目的組成部分,一個app代表項目中的一個子產品,所有URL請求的響應都是由app來處理

比如豆瓣有圖書、電影、音樂、同城等多個子產品,如果站在Django的角度來看,這些子產品就是app,這些app共同組成豆瓣這個項目。是以可以說:

       •Django項目由許多app組成,一個app可以被其他app使用,Django也能擁有不同的app

       •此時需要建立app,通過指令

python manage.py startapp app

名稱即可建立app,如執行

python manage.py startapp book

即建立名為book的app,目錄結構如下:

我愛Django架構之Django初體驗(你想要的這都有!!!)虛拟環境Django的介紹Django項目的建立,運作和建立appDjango項目的結構Django建立app

可以看到,建立了book目錄,下面包含一些檔案:

       •admin.py

       用于背景管理

       •apps.py

       該app的相關配置

       models.py

       定義資料模型

       •tests.py

       寫測試代碼

       •views.py

       圖檔案,接收請求、處理資料,與M和T進行互動

在建立項目之後,為了建立應用和項目之間的聯系,還需要對應用進行注冊,即修改

settings.py

中的

INSTALLED_APPS配置項