返回部落格

建立具有資料庫連線的 Django 應用程式:教學課程

建立具有資料庫連線的 Django 應用程式:教學課程

Django 是一個免費且開源的網頁框架,基於 Python。Django 於 2005 年首次發布,秉承「快速開發與乾淨、務實的設計」之座右銘。該框架部署在網頁伺服器上,能快速產生具有豐富功能、安全性和擴充性的網頁前端。

任何網頁應用程式都依賴資料庫來儲存其內容。Django 作為一個現代框架,支援多種標準資料庫程式,例如:PostgreSQL, SQLite, MySQL等。本指南將展示如何將 Django 應用程式連接到 MySQL 資料庫.

先決條件

在開始進行 Django 和資料庫連接之前,您需要滿足某些先決條件:

安裝與設定 Python 3

Django 是用 Python 編寫的。運行任何 Python 應用程式都需要在系統中安裝 Python 二進位檔案。Ubuntu 預設已安裝 Python。在這裡,我們將使用 Python 3。請在終端機中執行以下命令。首先,更新 APT 快取並升級(若有)所有已安裝的套件:

Python 3 可直接從 Ubuntu 官方套件伺服器取得。套件 python-is-python3  會建立一個指向 python 二進位檔案的軟連結,指向 python3 ,以便於使用:

接下來,驗證安裝是否成功:

之後,我們需要 pip。它是標準的 Python 套件管理器,負責管理不屬於標準函式庫的其他 Python 函式庫。請注意,我們正在安裝 pip3(適用於 Python 3):

最後,我們需要一些額外的套件來建立一個健全的程式設計環境:

安裝與設定 MySQL

本節將簡要示範如何安裝和設定 MySQL。它可以從預設的 Ubuntu 套件庫中取得:

如果安裝成功,MySQL 將開始在背景運行。驗證其是否正常運作:

Django App 1

MySQL 伺服器已啟動並運行。我們現在可以安全地過渡到 Django 應用程式的開發。

使用 Django

  • 建立範例 Django 應用程式

我們網頁應用程式的基礎工作需要 Django 專案骨架。它包含建立健全網頁應用程式所需的所有必要工具和函式庫。首先,我們將為我們的 Django 應用程式建立一個專用目錄。建議將目錄命名為有意義且與我們即將建立的應用程式一致的名稱。在此示範中,我們將其命名為 myDemoApp:

我們需要 Python 的 venv 模組在該目錄中建立虛擬環境。使用 APT:

然後,導航到該目錄並建立虛擬環境。為了清楚起見,我們將該環境命名為 demoapp_env:

接下來,透過執行 activate 指令碼來啟用虛擬環境:

Django App 2

我們現在將在這個專用的虛擬環境中安裝 Django。Pip 將下載並安裝一些額外的組件:

Django 已安裝並準備就緒。呼叫 django-admin 命令來建立一個新的 Django 專案。之後,給應用程式一個適當的名稱:

它將建立一個包含所需專案檔案和目錄的示範專案:

Django App 3

專案骨架已準備就緒。接下來,我們需要對其進行適當的設定以實現我們的目標。

  • 編輯 Django 專案設定

專案的所有設定都儲存在檔案 settings.py 中。它位於 Django 專案目錄內。我們將首先設定適當的時區,並列出可以連線到 Django 應用程式的主機。在文字編輯器中開啟設定檔:

向下捲動腳本並找到條目 TIME_ZONE。為了進行示範,時區設定為 America/New_York:

TIME_ZONE

供參考,以下指令將列印 Linux 中所有支援的時區:

接下來,捲動到條目 ALLOWED_HOSTS。它控制哪些機器可以存取該應用程式。為了進行示範,它僅包含 localhost:

Django App 4然後,儲存檔案並關閉編輯器。下一個指令將套用變更:

python manage現在,我們需要為 Web 應用程式建立一個管理員帳戶。此帳戶將用於存取 Django 管理介面。執行以下指令:

Django App 5它會要求輸入使用者名稱、電子郵件和密碼。該應用程式現在已準備好連線到資料庫。

MySQL 連線

  • 安裝 MySQL 連接器和開發函式庫

為了將 MySQL 整合到 Django 應用程式中,我們需要一些額外的 Python 3 函式庫來提供必要的工具。我們將使用資料庫連接器 mysqlclient。它是 MySQLdb.

的分支。確保我們已安裝 python3-dev

我們還需要一些額外的 Python 和 MySQL 標頭檔與函式庫:

安裝完成後,使用 pip 來安裝 Python 模組 mysqlclient。它可能會產生一些可以忽略的錯誤訊息:

  • 設定專用資料庫

下一步是為我們的 Django 應用程式設定專用資料庫和資料庫使用者。以 root 使用者身分啟動 MySQL shell:

要檢查目前所有可用的資料庫,請執行以下查詢:

讓我們為 Django 應用程式建立一個專用資料庫。給它一個與專案名稱一致的適當名稱:

然後,驗證建立結果:

Django App 6現在,建立一個專用的 MySQL 使用者。我們將此使用者設定為資料庫的擁有者。Django 應用程式將使用此使用者的憑證來操作 MySQL 資料庫:

授予使用者 demoapp_user 對資料庫 demoapp_data:

要使權限變更生效,請重新載入 MySQL 授權表:

Django App 7資料庫現在已準備好連線到 Django 應用程式。

  • 將資料庫連線到 Django 應用程式

最後,我們將設定 Django 應用程式使用該資料庫進行資料儲存。開啟設定腳本 settings.py:

向下捲動到條目 DATABASES 並輸入以下程式碼:

Django App 8儲存檔案並關閉編輯器。下一步是設定前面程式碼中描述的設定檔。使用 sudo 在描述的位置開啟文字檔案:

此設定檔將包含有關 Django 專用資料庫以及我們在 MySQL 伺服器中建立的使用者的資訊。在檔案末尾新增以下幾行:

default-character-set要使變更生效,我們必須重新啟動 MySQL 伺服器:

  • 測試 MySQL 連線

現在是驗證 MySQL 連線是否正常運作的時候了。如果 Django 伺服器運作沒有問題,那麼連線就正常。否則,就是有問題。首先,套用對 Django 專案所做的所有變更:

python manage現在,移至以下專案目錄並啟動 Django 伺服器:

python manage.py runserver接下來,嘗試從網頁瀏覽器存取伺服器:

server_ip_address

太棒了!我們已成功進入 Django 的成功頁面。這也驗證了 MySQL 連線運作正常。任務完成後,您可以安全地退出虛擬環境:

結語

在本指南中,您已了解結合 Django 和 MySQL 的基礎知識。我們建立了一個 Django 應用程式,並展示了如何將其與 MySQL 資料庫連接。奧妙之處在於 Django 設定檔 settings.py。我們還修改了一些基本設定,例如 ALLOWED_HOSTSTIME_ZONE。Django 非常靈活。除了 MySQL 之外,它還支援其他 SQL 伺服器(如 PostgreSQL)、伺服器引擎(如 Nginx)等。

您也可以查看我們關於安裝、設定和使用 Django 的最佳實踐指南:

祝您開發愉快!

author

Hark Labs

作者 · CloudSigma

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

留言

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