首頁 > 軟體

Ubuntu 18.04 LTS 上安裝 Django 圖文詳解

2020-06-16 16:27:40

Django是一個免費的開源高階Python Web框架,旨在幫助開發人員構建安全,可延伸和可維護的Web應用程式。

根據您的需要,有不同的方法來安裝Django。它可以使用pip在系統範圍內安裝或在Python虛擬環境中安裝。

Django軟體包也包含在官方Ubuntu儲存庫中,可以使用apt軟體包管理器進行安裝。這是在Ubuntu 18.04上安裝Django的最簡單方法,但不如在虛擬環境中安裝那麼靈活。此外,儲存庫中包含的版本總是落後於最新版本的Django。

Python虛擬環境的主要目的是為不同的Python專案建立一個獨立的環境。這樣,您可以在一台計算機上擁有多個不同的Django環境,並在每個專案的基礎上安裝特定版本的模組,而不必擔心它會影響您的其他Django安裝。如果您將Django安裝到全域性環境中,那麼您只能在計算機上安裝一個Django版本。

在Ubuntu 18.04上安裝Django

以下部分提供了有關如何在Ubuntu 18.04上的Python虛擬環境中安裝Django的分步說明。

1、安裝Python 3和venv

預設情況下,Ubuntu 18.04附帶Python 3.6。 您可以通過鍵入以下內容來驗證系統上是否安裝了Python 3:

linuxidc@linuxidc:~/www.linuxidc.com$ python3 -V

輸出應如下所示:

Python 3.6.9

從Python 3.6開始,建立虛擬環境的推薦方法是使用venv模組。 要安裝提供venv模組的python3-venv軟體包,請執行以下命令:

linuxidc@linuxidc:~/www.linuxidc.com$ sudo apt install python3-venv

如下圖:

一旦安裝了模組,我們就可以為Django應用程式建立一個虛擬環境了。

2、建立虛擬環境

首先轉到要儲存Python 3虛擬環境的目錄。 它可以是您的主目錄或您的使用者具有讀寫許可權的任何其他目錄。

為Django應用程式建立一個新目錄並導航到它:

linuxidc@linuxidc:~/www.linuxidc.com$ mkdir linuxidc_django_app
linuxidc@linuxidc:~/www.linuxidc.com$ cd linuxidc_django_app

進入目錄後,執行以下命令以建立新的虛擬環境:

linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app$ python3 -m venv venv

上面的命令建立了一個名為venv的目錄,其中包含Python二進位制檔案的副本,Pip包管理器,標準Python庫和其他支援檔案。 您可以為虛擬環境使用任何名稱。

要開始使用此虛擬環境,您需要通過執行activate指令碼來啟用它:

linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app$ source venv/bin/activate

啟用後,虛擬環境的bin目錄將新增到$ PATH變數的開頭。 此外,您的shell提示符也會更改,它將顯示您當前使用的虛擬環境的名稱。 在我們的情況下是venv:

3、安裝Django

現在虛擬環境已啟用,您可以使用Python包管理器pip來安裝Django:

(venv) linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app$ pip install django

在虛擬環境中,您可以使用命令pip而不是pip3和python而不是python3。

要驗證安裝,請使用以下命令列印Django版本:

(venv) linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app$ python -m django --version

在撰寫本文時(2019年12月6日),最新的官方Django版本是3.0

您的Django版本可能與此處顯示的版本不同。

4、建立Django專案

要建立名為mydjangoapp的新django專案,請使用django-admin命令列實用程式:

(venv) linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app$ django-admin startproject linuxidcdjangoapp

上面的命令將在當前目錄中建立一個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的專案的主指令碼和另一個目錄,包括資料庫設定,django和特定於應用程式的設定。

讓我們遷移資料庫並建立一個管理使用者。

首先導航到linuxidcdjangoapp目錄:

(venv) linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app/linuxidcdjangoapp$ cd linuxidcdjangoapp

預設情況下,Django使用SQLite資料庫。 對於生產應用程式,您可以使用PostgreSQL,MariaDB,Oracle或MySQL資料庫。

執行以下命令以遷移資料庫:

(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

遷移資料庫後,建立一個管理使用者,以便您可以使用Django管理介面:

(venv) linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app/linuxidcdjangoapp$ python manage.py createsuperuser

該命令將提示您輸入管理使用者的使用者名稱,電子郵件地址和密碼。

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、測試開發伺服器

使用manage.py指令碼後跟runserver選項啟動開發Web伺服器:

(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.

如果您在虛擬機器上安裝了Django並且想要存取Django開發伺服器,那麼您需要編輯settings.py檔案,在ALLOWED_HOSTS列表中新增伺服器IP地址。
在Web瀏覽器中開啟http://127.0.0.1:8000,您將看到預設的Django登入頁面:

您可以通過在URL的末尾新增/admin/來存取Django管理介面(http://127.0.0.1:8000/admin/)。 這將帶您進入管理員登入介面:

輸入您的使用者名稱和密碼,您將被重定向到Django管理頁面:

要停止開發伺服器,請在終端中鍵入CTRL-C。

6、停用虛擬環境

完成工作後,通過鍵入deactivate來停用環境,您將返回正常的shell。

deactivate

總結

您已經學習了如何在Ubuntu 18.04計算機上建立Python虛擬環境並安裝Django。 要建立其他Django開發環境,請重複本教學中概述的步驟。

如果您是Django的新手,請存取Django文件頁面,了解如何開發您的第一個Django應用程式。

如果您遇到任何問題,請隨時發表評論。

Django 3.0 發布,內建非同步功能並支援MariaDB和Python 3.6、3.7和3.8  https://www.linuxidc.com/Linux/2019-12/161672.htm


IT145.com E-mail:sddin#qq.com