Linux環(huán)境下Django的安裝配置圖文詳解
Django是一個(gè)免費(fèi)的開(kāi)源高級(jí)Python Web框架,旨在幫助開(kāi)發(fā)人員構(gòu)建安全,可擴(kuò)展和可維護(hù)的Web應(yīng)用程序。
根據(jù)您的需要,有不同的方法來(lái)安裝Django。它可以使用pip在系統(tǒng)范圍內(nèi)安裝或在Python虛擬環(huán)境中安裝。
Django軟件包也包含在官方Ubuntu存儲(chǔ)庫(kù)中,可以使用apt軟件包管理器進(jìn)行安裝。這是在Ubuntu 18.04上安裝Django的最簡(jiǎn)單方法,但不如在虛擬環(huán)境中安裝那么靈活。此外,存儲(chǔ)庫(kù)中包含的版本總是落后于最新版本的Django。
Python虛擬環(huán)境的主要目的是為不同的Python項(xiàng)目創(chuàng)建一個(gè)獨(dú)立的環(huán)境。這樣,您可以在一臺(tái)計(jì)算機(jī)上擁有多個(gè)不同的Django環(huán)境,并在每個(gè)項(xiàng)目的基礎(chǔ)上安裝特定版本的模塊,而不必?fù)?dān)心它會(huì)影響您的其他Django安裝。如果您將Django安裝到全局環(huán)境中,那么您只能在計(jì)算機(jī)上安裝一個(gè)Django版本。
在Ubuntu 18.04上安裝Django
以下部分提供了有關(guān)如何在Ubuntu 18.04上的Python虛擬環(huán)境中安裝Django的分步說(shuō)明。
1、安裝Python 3和venv
默認(rèn)情況下,Ubuntu 18.04附帶Python 3.6。 您可以通過(guò)鍵入以下內(nèi)容來(lái)驗(yàn)證系統(tǒng)上是否安裝了Python 3:
- linuxidc@linuxidc:~/www.linuxidc.com$ python3 -V
輸出應(yīng)如下所示:
Python 3.6.9
從Python 3.6開(kāi)始,創(chuàng)建虛擬環(huán)境的推薦方法是使用venv模塊。 要安裝提供venv模塊的python3-venv軟件包,請(qǐng)運(yùn)行以下命令:
- linuxidc@linuxidc:~/www.linuxidc.com$ sudo apt install python3-venv
如下圖:
一旦安裝了模塊,我們就可以為Django應(yīng)用程序創(chuàng)建一個(gè)虛擬環(huán)境了。
2、創(chuàng)建虛擬環(huán)境
首先轉(zhuǎn)到要存儲(chǔ)Python 3虛擬環(huán)境的目錄。 它可以是您的主目錄或您的用戶(hù)具有讀寫(xiě)權(quán)限的任何其他目錄。
為Django應(yīng)用程序創(chuàng)建一個(gè)新目錄并導(dǎo)航到它:
- linuxidc@linuxidc:~/www.linuxidc.com$ mkdir linuxidc_django_app
- linuxidc@linuxidc:~/www.linuxidc.com$ cd linuxidc_django_app
進(jìn)入目錄后,運(yùn)行以下命令以創(chuàng)建新的虛擬環(huán)境:
- linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app$ python3 -m venv venv
上面的命令創(chuàng)建了一個(gè)名為venv的目錄,其中包含Python二進(jìn)制文件的副本,Pip包管理器,標(biāo)準(zhǔn)Python庫(kù)和其他支持文件。 您可以為虛擬環(huán)境使用任何名稱(chēng)。
要開(kāi)始使用此虛擬環(huán)境,您需要通過(guò)運(yùn)行activate腳本來(lái)激活它:
- linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app$ source venv/bin/activate
激活后,虛擬環(huán)境的bin目錄將添加到$ PATH變量的開(kāi)頭。 此外,您的shell提示符也會(huì)更改,它將顯示您當(dāng)前使用的虛擬環(huán)境的名稱(chēng)。 在我們的情況下是venv:
3、安裝Django
現(xiàn)在虛擬環(huán)境已激活,您可以使用Python包管理器pip來(lái)安裝Django:
- (venv) linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app$ pip install django
在虛擬環(huán)境中,您可以使用命令pip而不是pip3和python而不是python3。
要驗(yàn)證安裝,請(qǐng)使用以下命令打印Django版本:
- (venv) linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app$ python -m django --version
在撰寫(xiě)本文時(shí)(2019年12月6日),最新的官方Django版本是3.0
您的Django版本可能與此處顯示的版本不同。
4、創(chuàng)建Django項(xiàng)目
要?jiǎng)?chuàng)建名為mydjangoapp的新django項(xiàng)目,請(qǐng)使用django-admin命令行實(shí)用程序:
- (venv) linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app$ django-admin startproject linuxidcdjangoapp
上面的命令將在當(dāng)前目錄中創(chuàng)建一個(gè)linuxidcdjangoapp目錄。
- (venv) linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app$ tree linuxidcdjangoapp/
- linuxidcdjangoapp/
- ├── linuxidcdjangoapp
- │ ├── asgi.py
- │ ├── __init__.py
- │ ├── settings.py
- │ ├── urls.py
- │ └── wsgi.py
- └── manage.py
1 directory, 6 files
在該目錄中,您將找到用于管理名為manage.py的項(xiàng)目的主腳本和另一個(gè)目錄,包括數(shù)據(jù)庫(kù)配置,django和特定于應(yīng)用程序的設(shè)置。
讓我們遷移數(shù)據(jù)庫(kù)并創(chuàng)建一個(gè)管理用戶(hù)。
首先導(dǎo)航到linuxidcdjangoapp目錄:
- (venv) linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app/linuxidcdjangoapp$ cd linuxidcdjangoapp
默認(rèn)情況下,Django使用SQLite數(shù)據(jù)庫(kù)。 對(duì)于生產(chǎn)應(yīng)用程序,您可以使用PostgreSQL,MariaDB,Oracle或MySQL數(shù)據(jù)庫(kù)。
運(yùn)行以下命令以遷移數(shù)據(jù)庫(kù):
- (venv) linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app/linuxidcdjangoapp$ 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 auth.0010_alter_group_name_max_length... OK
- Applying auth.0011_update_proxy_permissions... OK
- Applying sessions.0001_initial... OK
遷移數(shù)據(jù)庫(kù)后,創(chuàng)建一個(gè)管理用戶(hù),以便您可以使用Django管理界面:
- (venv) linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app/linuxidcdjangoapp$ python manage.py createsuperuser
該命令將提示您輸入管理用戶(hù)的用戶(hù)名,電子郵件地址和密碼。
- Username (leave blank to use 'linuxidc'): admin
- Email address: admin@linuxidc.com
- Password:
- Password (again):
- This password is too short. It must contain at least 8 characters.
- This password is too common.
- Bypass password validation and create user anyway? [y/N]: y
- Superuser created successfully.
5、測(cè)試開(kāi)發(fā)服務(wù)器
使用manage.py腳本后跟runserver選項(xiàng)啟動(dòng)開(kāi)發(fā)Web服務(wù)器:
- (venv) linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app/linuxidcdjangoapp$ python manage.py runserver
您將看到以下圖一樣的輸出:
- Starting development server at http://127.0.0.1:8000/
- Quit the server with CONTROL-C.
如果您在虛擬機(jī)上安裝了Django并且想要訪問(wèn)Django開(kāi)發(fā)服務(wù)器,那么您需要編輯settings.py文件,在ALLOWED_HOSTS列表中添加服務(wù)器IP地址。
在Web瀏覽器中打開(kāi)http://127.0.0.1:8000,您將看到默認(rèn)的Django登錄頁(yè)面:
您可以通過(guò)在URL的末尾添加/admin/來(lái)訪問(wèn)Django管理界面(http://127.0.0.1:8000/admin/)。 這將帶您進(jìn)入管理員登錄界面:
輸入您的用戶(hù)名和密碼,您將被重定向到Django管理頁(yè)面:
要停止開(kāi)發(fā)服務(wù)器,請(qǐng)?jiān)诮K端中鍵入CTRL-C。
6、停用虛擬環(huán)境
完成工作后,通過(guò)鍵入deactivate來(lái)停用環(huán)境,您將返回正常的shell。
- deactivate
總結(jié)
您已經(jīng)學(xué)習(xí)了如何在Ubuntu 18.04計(jì)算機(jī)上創(chuàng)建Python虛擬環(huán)境并安裝Django。 要?jiǎng)?chuàng)建其他Django開(kāi)發(fā)環(huán)境,請(qǐng)重復(fù)本教程中概述的步驟。
如果您是Django的新手,請(qǐng)?jiān)L問(wèn)Django文檔頁(yè)面,了解如何開(kāi)發(fā)您的第一個(gè)Django應(yīng)用程序。
如果您遇到任何問(wèn)題,請(qǐng)隨時(shí)發(fā)表評(píng)論。