--- title: 架設 Django 開發環境 slug: Learn/Server-side/Django/development_environment translation_of: Learn/Server-side/Django/development_environment ---
現在,你知道什麼是Django。那麼我們將向你展示如何在Windows,Linux(Ubuntu)和Mac OSX上設置和測試Django開發環境—無論你常用哪種操作系統,本文應該都能讓你開始開發Django應用程序。
先備知識: | 知道如何打開終端或命令行。了解如何在計算機的操作系統上安裝軟件包。 |
---|---|
目標: | 在你的計算機操作系統上運行Django(2.0)開發環境。 |
Django 使你輕鬆設置自己的電腦,以便開始開發網絡應用。這部分介紹在開發環境可以取得什麼,並概述了部分設置和配置選項。本文的其餘部分,介紹了在Ubuntu,Mac OS X 和 Windows 上,安裝 Django 開發環境的推薦方法,以及如何測試。
開發環境是在本地計算機上安裝 Django,你可以在將 Django 部署到生產環境之前,用於開發和測試 Django 應用程序。
Django 本身提供的主要工具,是一組用於創建和使用 Django 項目的 Python 腳本,以及可用於在你的計算機的瀏覽器上,測試本地(即,你的計算機,而不是外部 Web 服務器)Django 網絡應用程序的簡單開發網路服務器 。
還有其他外部工具, 它們構成了開發環境的一部分, 我們將不再贅述。這些包括 文本編輯器 text editor 或編輯代碼的 IDE,以及像 Git 這樣的源代碼控制管理工具,用於安全地管理不同版本的代碼。我們假設你已經安裝了一個文本編輯器。
Django 如何在安裝和配置方面非常靈活。Django可以:
每個選項都需要略微不同的配置和設置。以下小節解釋了你的一些選擇。對於本文的其餘部分,我們將介紹Django在少見的操作系統上的設置,考量該模塊的其餘部分。
注意: 其他可能的安裝選項在官方Django文檔中介紹。相應文件點擊這裡。
幾乎任何可以運行Python編程語言的機器可以運行Django 網絡應用程序:Windows,Mac OSX,Linux/Unix,Solaris,僅舉幾例。幾乎任何計算機都應該在開發過程中運行Django所需的性能。
在本文中。我們將提供Windows,Mac OS X 和Linux/Unix的說明。
我們建議您使用最新版本 - 在編寫本文時,這是Python 3.7。
如果需要,可以使用Python 3.4或更高版本(將來的版本中將刪除Python 3.4支持)。
注意: Python 2.7不能與Django 2.0一起使用(Django 1.11.x系列是最後一個支持Python 2.7的系列)。
有三個地方可以下載Django:
本文介紹如何從PyPi安裝Django,從獲得最新的穩定版本。
Django支持四個主要數據庫(PostgreSQL,MySQL,Oracle和SQLite),還有一些社區庫,可以為其他流行的SQL和NOSQL數據庫,提供不同級別的支持。我們建議你為生產和開發,選擇相同的數據庫(儘管Django使用其對象關係映射器(ORM)抽像出許多數據庫差異,但是仍然存在可以避免的潛在問題 ).
對於本文(和本模塊的大部分),我們將使用將數據存放在文件中的SQLite數據庫。SQLite旨在用作輕量級數據庫,不能支持高級並發。然而,這確實是唯讀的應用程序的絕佳選擇。
注意 :當你使用標準工具(django-admin)啟動你的網站項目時,Django將默認配置為使用SQLite。用來入門,這是一個很好的選擇,因為它不需要額外的配置和設置。
安裝Python3時,您將獲得一個由所有Python3代碼共享的單一全局環境。雖然您可以在環境中,安裝任何您喜歡的Python軟件包,但您一次只能安裝每個軟件包的一個特定版本。
注意: 安裝到全局環境中的Python應用程序可能會相互衝突(即,如果它們依賴於同一程序包的不同版本)。
如果您將Django安裝到默認/全局環境中,那麼您將只能在計算機上,定位一個版本的Django。如果您想要創建新網站(使用最新版本的Django)同時仍然維護依賴舊版本的網站,這可能是一個問題。
因此,經驗豐富的Python / Django開發人員,通常在獨立的Python虛擬環境中,運行Python應用程序。這樣可以在一台計算機上,實現多個不同的Django環境。 Django開發團隊本身建議您使用Python虛擬環境!
本模塊假設您已將Django安裝到虛擬環境中,我們將向您展示如何做。
為了使用Django,你需要安裝Python3.同樣你需要Python包管理工具 — pip3 —用來管理(安裝,更新和刪除)Django和其他Python應用程序使用的Python軟件包/庫。
本書簡要說明如何根據需要檢查什麼版本,並根據需要安裝新版本,適用於Ubuntu Linux 16.04, Mac OS X, and Windows 10。
注意 :根據你的平台,您還可以從操作系統自己的軟件包管理器或其他機制安裝Python / pip。對於大多數平台,您可以從https://www.python.org/downloads/下載所需的安裝文件,並使用適當的平台特定方法進行安裝。
Ubuntu Linux 18.04 LTS默認包含Python 3.6.5。您可以通過在bash終端中運行以下命令來確認:
python3 -V
Python 3.6.5
然而,在默認情況下,為Python 3(包括Django)安裝軟件包的Python包管理工具不可用。你可以使用以下方式將pip3安裝在bash終端:
sudo apt install python3-pip
Mac OS X "El Capitan" 不包括Python 3.你可以通過在bash終端中運行一下命令來確認:
python3 -V
-bash: python3: command not found
你可以輕鬆從python.org安裝Python 3(以及pip3工具):
你現在可以檢查Pyhon 3來確認成功安裝,如下所示:
python3 -V
Python 3.7.0
你也可以通過列出可用的軟件包來檢查pip3是否安裝:
pip3 list
windows默認不安裝,但你可以從python.org輕鬆安裝它(以及pip3工具):
你可以通過在命令提示符中輸入以下文本來驗證是否安裝了Python:
py -3 -V
Python 3.7.0
默認情況下,Windows安裝程序包含pip3(python包管理器,你可以列出安裝的軟件包):
pip3 list
注意: 安裝程序應設置上述命令工作所需的一切。但是,如果您收到無法找到Python 的消息,則可能忘記將其添加到系統路徑中。您可以通過再次運行安裝程序,選擇“修改”"Modify",然後選中第二頁上標有“將Python添加到環境變量”"Add Python to environment variables"的框來執行此操作。
我們將用於創建虛擬環境的庫是 virtualenvwrapper(Linux和macOS X)和 virtualenvwrapper-win (Windows),後者又使用 virtualenv工具。包裝工具為所有平台上的接口管理創建了一致的界面。
安裝Python和pip之後,你可以安裝 virtualenvwrapper(包括virtualenv)。可在此處找到官方安裝指南,或按照以下說明操作。
使用pip3安裝該工具:
sudo pip3 install virtualenvwrapper
然後將以下行添加到shell啟動文件的末尾(這是主目錄中的隱藏文件名.bashrc)。這些設置了虛擬環境應該存在的位置,開發項目目錄的位置以及使用此軟件包安裝的腳本的位置 :
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS=' -p /usr/bin/python3 '
export PROJECT_HOME=$HOME/Devel
source /usr/local/bin/virtualenvwrapper.sh
注意: VIRTUALENVWRAPPER_PYTHON
和 VIRTUALENVWRAPPER_VIRTUALENV_ARGS
變量指向Python3的正常安裝位置,source /usr/local/bin/virtualenvwrapper.sh
指向virtualenvwrapper.sh
腳本的正常位置。如果virtualenv在測試時不起作用,那麼要檢查的一件事是Python和腳本位於預期的位置(然後適當地更改啟動文件)。
您可以使用which virtualenvwrapper.sh
和 which python3
.的命令找到系統的正確位置。
然後在終端中運行以下命令重新加載啟動文件:
source ~/.bashrc
此時您應該看到一堆腳本正在運行,如下所示:
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/premkproject
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/postmkproject
...
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/preactivate
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/postactivate
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/get_env_details
現在,您可以使用mkvirtualenv
命令創建新的虛擬環境。
在 macOS X上設置 virtualenvwrapper 與在 Ubuntu上幾乎完全相同(同樣,您可以按照官方安裝指南或下面的說明進行操作。
使用 pip 安裝 virtualenvwrapper(並捆綁 virtualenv),如圖所示。
sudo pip3 install virtualenvwrapper
然後將以下幾行添加到 shell 啟動文件的末尾。
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export PROJECT_HOME=$HOME/Devel
source /usr/local/bin/virtualenvwrapper.sh
注意: VIRTUALENVWRAPPER_PYTHON
變量指向Python3的正常安裝位置,source /usr/local/bin/virtualenvwrapper.sh
指向virtualenvwrapper.sh
腳本的正常位置。如果virtualenv在測試時不起作用,那麼要檢查的一件事,是Python和腳本位於預期的位置(然後適當地更改啟動文件)。
例如,對macOS進行的一次安裝測試,最終在啟動文件中需要以下幾行:
export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.7/bin/python3 export PROJECT_HOME=$HOME/Devel source /Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh
您可以使用which virtualenvwrapper.sh
和 which python3
的命令找到系統的正確位置。
這幾行與Ubuntu相同,但啟動文件是主目錄中、名稱不同的隱藏文件.bash_profile。
注意: 如果在查找程序中找不到要編輯的.bash-profile,也可以使用nano在終端中打開它。
命令看起來像這樣:
cd ~ # Navigate to my home directory
ls -la #List the content of the directory. YOu should see .bash_profile
nano .bash_profile # Open the file in the nano text editor, within the terminal
# Scroll to the end of the file, and copy in the lines above
# Use Ctrl+X to exit nano, Choose Y to save the file.
然後通過在終端中,進行以下調用,來重新加載啟動文件:
source ~/.bash_profile
此時,您可能會看到一堆腳本正在運行(與Ubuntu安裝相同的腳本)。您現在應該能夠使用mkvirtualenv
命令,創建新的虛擬環境。
安裝virtualenvwrapper-win比設置virtualenvwrapper更簡單,因為您不需要配置工具存放虛擬環境信息的位置(有默認值)。您需要做的就是,在命令提示符中運行以下命令:
pip3 install virtualenvwrapper-win
現在,您可以使用mkvirtualenv
命令創建新的虛擬環境
一旦你安裝了virtualenvwrapper或virtualenvwrapper-win,那麼在所有平台上使用虛擬環境都非常相似。
現在,您可以使用mkvirtualenv
命令創建新的虛擬環境。當此命令運行時,您將看到正在設置的環境(您看到的是略微特定於平台的)。當命令完成時,新的虛擬環境,將處於活動狀態 - 您可以看到這一點,因為提示的開頭,將是括號中環境的名稱(如下所示)。
$ mkvirtualenv my_django_environment
Running virtualenv with interpreter /usr/bin/python3
...
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/t_env7/bin/get_env_details
(my_django_environment) ubuntu@ubuntu:~$
現在,您可以在虛擬環境中,安裝Django,並開始開發。
注意: 從本文開始(實際上是本系列教學),請假設任何命令都在Python虛擬環境中運行,就像我們在上面設置的那樣。
您應該知道其他一些有用的命令(工具文檔中有更多,但這些是您經常使用的命令):
deactivate
— 退出當前的Python虛擬環境workon
— 列出可用的虛擬環境workon name_of_environment
— 激活指定的Python虛擬環境rmvirtualenv name_of_environment
— 刪除指定的環境一旦你創建了一個虛擬環境,並調用了workon
來輸入它,就可以使用pip3來安裝Django。
pip3 install django
您可以通過運行以下命令來測試Django是否安裝(這只是測試Python可以找到Django模塊):
# Linux/macOS X python3 -m django --version 2.0 # Windows py -3 -m django --version 2.0
注意: 如果上面的Windows命令沒有顯示django模塊,請嘗試:
py -m django --version在Windows中,Python 3腳本通過在命令前面加上
py -3
來啟動,儘管這可能會因具體安裝而異。如果遇到任何命令問題,請嘗試省略-3
修飾符。在Linux / macOS X中,命令是python3
。重要提示:本教程的其餘部分,使用Linux命令來調用Python 3(python3)。如果您在Windows上工作,只需將此前綴替換為: py -3
上面的測試可以工作,但它不是很有趣。一個更有趣的測試是創建一個骨架項目並看到它工作。要做到這一點,先在你的命令提示符/終端導航到你想存儲你Django應用程序的位置。為您的測試站點創建一個文件夾並瀏覽它。
mkdir django_test cd django_test
然後,您可以使用django-admin工具創建一個名為“ mytestsite ”的新骨架站點,如圖所示。創建網站後,您可以導航到文件夾,您將在其中找到管理項目的主要腳本,名為manage.py。
django-admin startproject mytestsite cd mytestsite
我們可以使用manage.py和 runserver
命令,從此文件夾內運行開發Web服務器,如圖所示。
$ python3 manage.py runserver Performing system checks... System check identified no issues (0 silenced). You have 14 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. December 29, 2017 - 03:03:47 Django version 2.0, using settings 'mytestsite.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
注意: 以上命令顯示Linux / macOS X命令。此時您可以忽略有關“14個未應用的遷移”的警告!("14 unapplied migration(s)" )
一旦服務器運行,您可以通過導航到本地Web瀏覽器上的以下URL來查看該站點:http://127.0.0.1:8000/
。你應該看到一個如下所示的網站:
您現在已在計算機上啟動並運行Django開發環境。
在測試部分,您還簡要了解了,我們如何使用django-admin startproject
,創建一個新的Django網站,並使用開發Web服務器(python3 manage.py runserver
)在瀏覽器中運行它。在下一篇文章中,我們將擴展此過程,構建一個簡單、但完整的Web應用程序。
{{PreviousMenuNext("Learn/Server-side/Django/Introduction", "Learn/Server-side/Django/Tutorial_local_library_website", "Learn/Server-side/Django")}}