Django是一個免費的開源高級Python Web框架,旨在幫助開發人員構建安全,可擴展和可維護的Web應用程序。python
根據您的須要,有不一樣的方法來安裝Django。它可使用pip在系統範圍內安裝或在Python虛擬環境中安裝。linux
Django軟件包也包含在官方Ubuntu存儲庫中,可使用apt軟件包管理器進行安裝。這是在Ubuntu 18.04上安裝Django的最簡單方法,但不如在虛擬環境中安裝那麼靈活。此外,存儲庫中包含的版本老是落後於最新版本的Django。shell
Python虛擬環境的主要目的是爲不一樣的Python項目建立一個獨立的環境。這樣,您能夠在一臺計算機上擁有多個不一樣的Django環境,並在每一個項目的基礎上安裝特定版本的模塊,而沒必要擔憂它會影響您的其餘Django安裝。若是您將Django安裝到全局環境中,那麼您只能在計算機上安裝一個Django版本。數據庫
如下部分提供了有關如何在Ubuntu 18.04上的Python虛擬環境中安裝Django的分步說明。django
默認狀況下,Ubuntu 18.04附帶Python 3.6。 您能夠經過鍵入如下內容來驗證系統上是否安裝了Python 3:ubuntu
python3 -V
輸出應以下所示:瀏覽器
Python 3.6.6
從Python 3.6開始,建立虛擬環境的推薦方法是使用venv模塊。 要安裝提供venv模塊的python3-venv軟件包,請運行如下命令:安全
sudo apt install python3-venv
一旦安裝了模塊,咱們就能夠爲Django應用程序建立一個虛擬環境了。服務器
首先導航到要存儲Python 3虛擬環境的目錄。 它能夠是您的主目錄或您的用戶具備讀寫權限的任何其餘目錄。session
爲Django應用程序建立一個新目錄並導航到它:
mkdir my_django_app cd my_django_app
進入目錄後,運行如下命令以建立新的虛擬環境:
python3 -m venv venv
上面的命令建立了一個名爲venv的目錄,其中包含Python二進制文件的副本,Pip包管理器,標準Python庫和其餘支持文件。 您能夠爲虛擬環境使用任何名稱。
要開始使用此虛擬環境,您須要經過運行activate腳原本激活它:
source venv/bin/activate
激活後,虛擬環境的bin目錄將添加到$ PATH變量的開頭。 此外,您的shell提示符也會更改,它將顯示您當前使用的虛擬環境的名稱。 在咱們的狀況下是venv:
如今虛擬環境已激活,您可使用Python包管理器pip來安裝Django:
pip install django
在虛擬環境中,您可使用命令pip而不是pip3和python而不是python3。
要驗證安裝,請使用如下命令打印Django版本:
python -m django --version
在撰寫本文時,最新的官方Django版本是2.1.2
2.1.2
您的Django版本可能與此處顯示的版本不一樣。
要建立名爲mydjangoapp的新django項目,請使用django-admin命令行實用程序:
django-admin startproject mydjangoapp
上面的命令將在當前目錄中建立一個mydjangoapp目錄。
tree mydjangoapp/
mydjangoapp/ |-- manage.py `-- mydjangoapp |-- __init__.py |-- settings.py |-- urls.py `-- wsgi.py
在該目錄中,您將找到用於管理名爲manage.py的項目的主腳本和另外一個目錄,包括數據庫配置,django和特定於應用程序的設置。
讓咱們遷移數據庫並建立一個管理用戶。
首先導航到mydjangoapp目錄:
cd mydjangoapp
默認狀況下,Django使用SQLite數據庫。 對於生產應用程序,您可使用PostgreSQL,MariaDB,Oracle或MySQL數據庫。
運行如下命令以遷移數據庫:
python manage.py migrate
輸出將以下所示:
Operations to perform: Apply all migrations: admin, auth, contenttypes, sessions Running migrations: Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add... OK Applying admin.0003_logentry_add_action_flag_choices... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying auth.0007_alter_validators_add_error_messages... OK Applying auth.0008_alter_user_username_max_length... OK Applying auth.0009_alter_user_last_name_max_length... OK Applying sessions.0001_initial... OK
遷移數據庫後,建立一個管理用戶,以便您可使用Django管理界面:
python manage.py createsuperuser
該命令將提示您輸入管理用戶的用戶名,電子郵件地址和密碼。
Username (leave blank to use 'linuxize'): admin Email address: admin@linuxize.com Password: Password (again): Superuser created successfully.
使用manage.py腳本後跟runserver選項啓動開發Web服務器:
python manage.py runserver
您將看到如下輸出:
Performing system checks... System check identified no issues (0 silenced). October 20, 2018 - 11:16:28 Django version 2.1.2, using settings 'mydjangoapp.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
若是您在虛擬機上安裝了Django而且想要訪問Django開發服務器,那麼您須要編輯settings.py文件,在ALLOWED_HOSTS列表中添加服務器IP地址。
在Web瀏覽器中打開http://127.0.0.1:8000,您將看到默認的Django登陸頁面:
ubuntu-18-04-django-landing-page
您能夠經過在URL的末尾添加/ admin /來訪問Django管理界面(http://127.0.0.1:8000/admin/)。 這將帶您進入管理員登陸界面:
ubuntu-18-04-django-login-page
輸入您的用戶名和密碼,您將被重定向到Django管理頁面:
ubuntu-18-04-django-admin-page
要中止開發服務器,請在終端中鍵入CTRL-C。
完成工做後,經過鍵入deactivate來停用環境,您將返回正常的shell。
deactivate
您已經學習瞭如何在Ubuntu 18.04計算機上建立Python虛擬環境並安裝Django。 要建立其餘Django開發環境,請重複本教程中概述的步驟。
若是您是Django的新手,請訪問Django文檔頁面,瞭解如何開發您的第一個Django應用程序。
若是您遇到任何問題,請隨時發表評論。