Django入門指南-第1部分(環境搭建)

劉志軍發表於2019-03-03

前言

Django入門指南-第1部分(環境搭建)

今天我將開始一個關於 Django 基礎知識的全新系列教程。這是一個開始學習 Django 的完整入門指南。教程材料一共會被分為七個部分。我們將從安裝,開發環境的準備,模型,檢視,模板,URL到更高階的主題(如遷移,測試和部署)中詳細探討所有基本概念。

我想做一些不一樣的事情。一個容易學習,內容豐富且不失趣味的教程。我的想法是在文章中穿插一些漫畫的方式來演示說明相應的概念和場景。我希望大家能夠享受這種閱讀!

但是在我們開始之前…

當年我在一所大學擔任代課教授時,我曾經在電腦科學專業給新來的學生講授網路開發學科。那時我總是會用下面這個孔夫子的名言開始新的課程:

Django入門指南-第1部分(環境搭建)

(譯者注:不確定是孔子講的,但這句話早在中國古代就有所提到,出自荀子《儒效篇》“不聞不若聞之,聞之不若見之,見之不若知之,知之不若行之;學至於行之而止矣”)

所以,請動起手來!不要只是閱讀教程。我們一起來練習!通過實踐和練習你會收穫的更多。


為什麼要學習Django?

Django是一個用python編寫的Web框架。Web框架是一種軟體,基於web框架可以開發動態網站,各種應用程式以及服務。它提供了一系列工具和功能,可以解決許多與Web開發相關的常見問題,比如:安全功能,資料庫訪問,會話,模板處理,URL路由,國際化,本地化,等等。

使用諸如 Django 之類的網路框架,使我們能夠以標準化的方式快速開發安全可靠的Web應用程式,而無需重新發明輪子。

那麼,Django有什麼特別之處呢?對於初學者來說,它是一個Python Web框架,這意味著你可以受益於各種各樣的開源庫包。python軟體包資料庫(pypi)擁有超過11.6萬個軟體包(2017年9月6日的資料)。如果當你想要解決一個特定的問題的時候,可能有人已經為它實現了一個庫來供你使用。

Django是用python編寫的最流行的web框架之一。它絕對是最完整的,提供了各種各樣的開箱即用的功能,比如用於開發和測試的獨立Web伺服器,快取,中介軟體系統,ORM,模板引擎,表單處理,基於Python單元測試的工具介面。Django還自帶內部電池,提供內建應用程式,比如一個認證系統,一個可用於 CRUD(增刪改查) 操作並且自動生成頁面的後臺管理介面,生成訂閱文件(RSS/Atom),站點地圖等。甚至在django中內建了一個地理資訊系統(GIS)框架。

Django的開發得到了Django軟體基金會的支援,並且由jetbrains和instagram等公司贊助。Django現在已經存在了相當長的一段時間了。到現在為止,活躍的專案開發時間已經超過12年,這也證明了它是一個成熟,可靠和安全的網路框架。

誰在使用Django?

知道誰在使用Django是很好的,同時也想一想你可以用它來做些什麼。在使用Django的大型網站有:InstagramDisqusMozillaBitbucketLast.fm國家地理

想知道更多的示例,你可以到Django Sites資料庫中檢視,它提供超過五千個Django驅動的網站列表。

順便說一下,去年在Django 2016年釋出會上,Django核心開發人員,Instagram員工
carl meyer,就Instagram如何大規模使用Django以及它如何支援他們的使用者增長做過一次分享。這是個一小時的演講,如果你有興趣學習瞭解更多的話,這是一次很有趣的演講。


安裝

我們需要做的第一件事是在我們的電腦上安裝一些程式,以便能夠開始使用django。基本的設定包括安裝PythonVirtualenvDjango

Django入門指南-第1部分(環境搭建)

使用虛擬環境不是強制性的,但是我還是強烈建議大家這樣做。如果你是一個初學者,那麼最好形成一個良好的開端。

當你在用 Django 開發一個網站或者一個Web專案的時候,不得不安裝外部庫以支援開發是非常常見的事情。使用虛擬環境,你開發的每個專案都會有其獨立的環境。這樣的話,包之間的依賴關係不會發生衝突。同時也使得你能在不同Django版本上執行的本地機器的專案。

在後面你會看到使用它是非常簡單的!

安裝 Python 3.6.2

我們想要做的第一件事是安裝最新版的Python,那就是Python 3.6.2。至少是在我寫這篇教程的時候。如果有更新的版本,請使用新版。接下來的步驟也應該保持大致相同的做法。

我們將使用Python 3,因為大部分主要的Python庫已經被移植到python 3,並且下一個主要的django版本(2.x)也將不再支援python 2。所以Python 3是正確的選擇。

最好的方法是通過Homebrew安裝。 如果你的Mac還沒有安裝Homebrew的話,在終端中執行下面的命令:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
複製程式碼

如果你沒有安裝命令列工具(Command Line Tools),Homebrew的安裝可能需要稍長一點的時間。但它會幫助你處理好一切,所以不用擔心。只需要坐下來等到安裝完成即可。

當你看到以下訊息時,就代表安裝完成了:

==> Installation successful!

==> Homebrew has enabled anonymous aggregate user behaviour analytics.
Read the analytics documentation (and how to opt-out) here:
  https://docs.brew.sh/Analytics.html

==> Next steps:
- Run `brew help` to get started
- Further documentation:
    https://docs.brew.sh
複製程式碼

執行下面的命令來安裝Python 3:

brew install python3
複製程式碼

由於macOS原本已經安裝了python 2,所以在安裝python 3之後,你將可以同時使用這兩個版本。

需要執行Python 2的話,在終端中通過命令 python 啟動。如果想執行Python 3,則使用python3 來啟動。

我們可以在終端中測試一下:

python3 --version
Python 3.6.2
複製程式碼
Django入門指南-第1部分(環境搭建)

很棒,python已經啟動並正在執行。下一步:虛擬環境!

安裝 Virtualenv

接下來這一步,我們將通過pip(一個管理和安裝Python包的工具)來安裝Virtualenv

請注意,Homebrew已經為你安裝好了pip,在python 3.6.2下的名稱為 pip3

在終端中,執行下面的命令:

sudo pip3 install virtualenv
複製程式碼
Django入門指南-第1部分(環境搭建)

到目前為止,我們執行的安裝都是在作業系統環境下執行的。從現在開始,我們安裝的所有東西,包括django本身,都將安裝在虛擬環境中。

這樣想一下:對於你開始的每個Django專案,你首先會為它建立一個虛擬環境。這就像每個Django專案都有一個沙盒。所以你隨意執行,安裝軟體包,解除安裝軟體包而不會破壞任何東西。

我習慣在電腦上建立一個名為Development的資料夾。然後,我用它來組織我所有的專案和網站。但你也可以按照接下來的步驟建立適合你自己的目錄。

通常,我首先在Development資料夾中建立一個專案名稱的新資料夾。既然這將是我們第一個專案,我們沒必要挑選一個獨特的名字。現在,我們可以稱之為myproject

mkdir myproject
cd myproject
複製程式碼
Django入門指南-第1部分(環境搭建)

這個資料夾是級別較高的目錄,將儲存與我們的Django專案相關的所有檔案和東西,包括它的虛擬環境。

所以讓我們開始建立我們的第一個虛擬環境並安裝django。

myproject資料夾中:

virtualenv venv -p python3
複製程式碼
Django入門指南-第1部分(環境搭建)

這樣我們的虛擬環境就建立好了。在開始使用它之前,我們需要先啟用一下環境:

source venv/bin/activate
複製程式碼

如果你在命令列前面看到 (venv),就代表啟用成功了,就像這樣:

Django入門指南-第1部分(環境搭建)

讓我們試著瞭解一下這裡發生了什麼。我們建立了一個名為venv的特殊資料夾。該資料夾內包含了一個python的副本。在我們啟用了venv環境之後,當我們執行Python命令時,它將使用我們儲存在venv裡面的本地副本,而不是我們之前在作業系統中安裝的那個。

另一個重要的事情是,pip程式也已經安裝好了,當我們使用它來安裝Python的軟體包(比如Django)時,它將被安裝在venv環境中。

請注意,當我們啟用venv時,我們將使用命令python(而不是python3)來呼叫Python 3.6.2,並且僅使用pip(而不是pip3)來安裝軟體包。

順便說一句,要想退出venv環境,執行下面的命令:

deactivate
複製程式碼

但是,我們現在先保持啟用狀態來進行下一步。

安裝 Django 1.11.4

很簡單,現在我們已經啟動了venv,執行以下命令來安裝django:

pip install django==1.11.4

# 譯註:目前django已經升級到2.x版本,這裡為了跟後續教程內容保持一直,所以必須指定版本號進行安裝
# 除非你有能力 debug,否則不建議你使用django 2.x
複製程式碼
Django入門指南-第1部分(環境搭建)

現在一切就緒!

Django入門指南-第1部分(環境搭建)

本文是公眾號「Python之禪」發起的《Django入門指南》翻譯計劃,後續章節可關注公眾號獲取

譯者:vimiix

原文地址:simpleisbetterthancomplex.com/series/2017…

相關文章