返回部落格

在 Ubuntu 21.04 Server 上搭配使用 PostgreSQL 與 Django

在 Ubuntu 21.04 Server 上搭配使用 PostgreSQL 與 Django

Django 是一個知名的網頁框架,它簡化了建立強健、具可擴展性、安全且高效能的網頁應用程式的過程。它是一個以 Python 撰寫的開源專案。您可以查看 此處關於 Django 的更多詳細資訊.

任何網頁應用程式都需要資料庫作為後端來管理資料。Django 支援 多種資料庫引擎 作為後端,例如 MySQL, PostgreSQL, SQLite 等。PostgreSQL 是一個功能強大的開源物件關聯式資料庫系統。它以其可靠性、可擴展性、安全性和強大的功能集而聞名。您可以 在此處了解更多關於 PostgreSQL 的資訊.

在本指南中,我們將展示如何在範例 Django 應用程式上整合 PostgreSQL 作為後端.

先決條件

使用 Django 需要特定的系統設定。

本指南還將展示如何使用功能完善的 Django 應用程式所需的各種 Python 模組和函式庫。

步驟 1. 安裝必要元件

為了讓我們的專案正常運作,我們需要在 Ubuntu 系統上安裝一系列重要的套件。幸運的是,所有這些套件都可以直接從官方 Ubuntu 套件庫中取得。這些套件包括 Python 元件和資料庫 (PostgreSQL) 元件。

首先,啟動終端機並更新 APT 套件快取:

Using PostgreSQL with Django 1

接下來,安裝套件:

Using PostgreSQL with Django 2

步驟 2. 準備資料庫

PostgreSQL 現在已安裝並準備就緒。接下來,我們將為我們的 Django 應用程式建立一個專用資料庫和使用者。擁有專用使用者有利於資料庫和權限管理。

在安裝過程中,PostgreSQL 會建立一個專用使用者 postgres。它擁有在 PostgreSQL 上執行任何管理工作的權限。存取 postgres 帳戶:

您應該會進入使用者 postgres 下的新 shell 工作階段。然後,開啟 PostgreSQL shell:

我們現在將為我們的 Django 應用程式建立一個專用資料庫。建議為其命名與 Django 應用程式相符的名稱:

接下來,我們將建立一個專用的資料庫使用者。我們將使用此使用者來存取 Django 專用資料庫:

下一步是為新使用者調整幾個連線參數。這有助於加快資料庫操作,因為它不需要在每次建立連線時都查詢這些值。執行以下命令:

讓我們快速分析一下這些命令:

  • 我們將預設編碼設定為 UTF-8。這是 Django 在與資料庫互動時所預期的編碼。

  • 預設交易配置設定為「read committed」(讀取已提交),以便封鎖來自未提交交易的讀取。

  • 時區應根據所在位置進行設定。

如果您不確定時區的名稱,以下命令將列出 PostgreSQL 支援的所有時區:

Using PostgreSQL with Django 4

最後,授予新使用者對 Django 專用資料庫的完整權限:

我們對 PostgreSQL 的操作已完成。結束 psql shell 並登出 postgres 工作階段。

步驟 3. 安裝 Django

我們已經為 Django 應用程式設定好所需的資料庫伺服器。現在,我們將安裝並設定專用的 Django 應用程式。雖然可以直接從官方 Ubuntu 套件庫取得 Django,但我們不建議使用此方法。這會在整個系統範圍內安裝 Django。為了獲得更好的靈活性和易於管理,我們將改在虛擬環境中安裝 Django。在虛擬 Python 環境中安裝和設定 Django 是一種標準做法。

Python 有一個模組 virtualenv ,可在目標位置建立虛擬 Python 環境。該環境會取得其專屬的 Python 二進位檔案和設定複本。在虛擬環境中進行變更不會對系統的其他部分產生任何影響。

安裝 virtualenv:

Using PostgreSQL with Django 5

接下來,我們的目標是建立一個專用目錄來建置 Python 虛擬環境。它將作為我們 Django 應用程式的基礎。為了進行示範,我們的應用程式名稱將為 sample_app。建立一個新目錄:

切換目前的工作目錄並建立虛擬環境:

之後,啟用虛擬環境:

虛擬環境現在已準備就緒且可正常運作。接著,我們將使用 pip 來安裝 Django 和 psycopg2(PostgreSQL 的 Python 轉接器):

Using PostgreSQL with Django 6

最後,我們可以使用 Django 工具建立一個新的 Django 專案。它將在目前目錄中產生一個同名的子目錄,其中包含所有程式碼和一個管理指令碼:

步驟 4. 設定 Django 專案

Django 專案具備了作為網頁應用程式運作的所有基本工具。為了將其與我們的資料庫整合,我們需要對其設定檔進行一些調整。

在文字編輯器中開啟 settings.py 檔案:

向下捲動到 DATABASES 區段。預設情況下,它被設定為使用 SQLite:

針對我們的目的,請將程式碼修改如下:

在這裡,我們告訴 Django 使用 psycopg2 轉接器進行資料庫通訊。我們還宣告了所有必要的資料庫資訊,例如資料庫名稱以及專用使用者之使用者名稱 and 密碼。

完成後,儲存檔案並關閉編輯器。

步驟 5. 遷移資料庫

Django 已設定為存取我們的 PostgreSQL 資料庫。我們現在可以將資料結構遷移到我們的資料庫。在 Django 中,這被稱為 遷移.

若要遷移資料庫變更,請呼叫管理指令碼 manage.py:


Using PostgreSQL with Django 7

接下來,為我們的 Django 應用程式建立一個超級使用者:

Using PostgreSQL with Django 8

此超級使用者帳戶將作為我們 Django 應用程式的系統管理員帳戶。

步驟 6. 測試變更

到目前為止,我們已經對 Django 應用程式進行了多次調整。是時候檢查一切是否按預期運作了。我們將透過啟動應用程式並存取管理控制台來驗證這一點。

由於我們是在本地開發 Django 應用程式,我們將在 啟動伺服器localhost。按照傳統,我們將在連接埠 啟動它8000。如果您配置了防火牆,則需要允許流量通過連接埠 8000。深入了解 UFW 的基本知識.

啟動 Django 伺服器:

在瀏覽器上存取該網址:

Using PostgreSQL with Django 9

您應該會進入 Django 安裝成功的頁面。要存取 Django 管理頁面,請前往以下網址:

Using PostgreSQL with Django 10

您需要使用我們建立的超級使用者來登入:

哇!我們已成功進入管理控制台!

探索完畢後,請在主控台按下 Ctrl + C 以停止 Django 伺服器。

結語

在本指南中,我們成功示範了建立一個 Django 範例應用程式並將 PostgreSQL 配置為其後端。雖然 SQLite 通常足以滿足開發期間(以及輕度生產環境使用)的需求,但大多數專案在切換到功能更齊全的 DBMS 後將大受裨益。PostgreSQL 是兼顧效能與擴充性的絕佳選擇。

Django 是一個多功能的網頁框架,可以與多種技術協同工作。請參考更多示範使用 Django 的雲端指南:

祝您開發愉快!

author

Preslav Dobrev

作者 · CloudSigma

Preslav Dobrev 是 CloudSigma 的創意設計師,專注於透過傳統與創新行銷渠道建立一致的企業形象。他擅長將藝術願景與策略行銷相融合,創造具有影響力的品牌敘事。

留言

目前尚無留言。成為第一個留言的人吧。