介紹
Django是一個使用Python編寫的免費、開源的Web框架,其核心原則是可擴展性、可重用性和快速開發。它也以框架級別的一致性和鬆散耦合而聞名,允許各個組件獨立於彼此。
在本教程中,您將在Ubuntu 22.04服務器上建立一個用於開發目的的Django環境。對於一個實時網站,您將有額外的考慮,包括連接到數據庫、設置域名和添加安全層。有各種教程可以幫助您在Django標籤下進行構建。
先決條件
要完成本教程,您需要:
-
一個具有
sudo
權限的非root用戶帳戶,您可以通過遵循並完成Ubuntu 22.04的初始服務器設置教程來實現。 -
使用虛擬編程環境設置Python 3。 您可以通過Python 3安裝指南進行此設置。
步驟1 — 安裝Django
有幾種方法可以在虛擬環境內使用Python包管理器pip安裝Django。
在伺服器的主目錄中,您將創建一個包含Django應用程序的目錄。 執行以下命令以創建一個名為django-apps
的目錄,或者您可以選擇其他名稱。 然後進入該目錄。
在django-apps
目錄內部,創建您的虛擬環境。 您將其稱為通用的env
,但您應該使用對您和您的項目有意義的名稱。
現在,使用以下命令激活虛擬環境:
一旦前綴更改為(env)
,您將知道它已經啟動,具體取決於您所在的目錄:
在環境中,使用pip安裝Django套件。安裝Django允許我們創建和運行Django應用程序。
安裝完成後,通過運行版本檢查來驗證Django安裝:
這將是結果輸出的一部分:
Output4.0.6
在您的服務器上安裝了Django後,您可以繼續創建一個測試項目,以確保一切都正常工作。您將創建一個骨架Web應用程序。
步驟2 — 調整防火牆設置
如果您遵循了初始服務器設置教程,或者在您的服務器上運行了防火牆,您將需要在服務器的防火牆中打開您將要使用的端口。對於UFW防火牆,您可以使用以下命令打開該端口:
如果您使用的是DigitalOcean防火牆,您可以從入站規則中選擇HTTP。您可以通過修改入站規則來了解有關DigitalOcean防火牆以及如何為其創建規則的更多信息。
第 3 步 — 開始專案
現在您可以使用 django-admin
,這是 Python 中用於管理任務的命令行工具,來生成應用程序。然後,您可以使用 startproject
命令來為您的測試網站創建專案目錄結構。
在 django-apps
目錄中執行以下命令:
注意:運行 django-admin startproject <projectname>
命令將命名專案目錄和專案包為 <projectname>
,並在運行該命令的目錄中創建專案。如果提供了可選的 <destination>
參數,Django 將使用提供的目標目錄作為專案目錄,並在其中創建 manage.py
和專案包。
現在,您可以查看剛剛建立的專案文件。切換到 testsite
目錄,然後列出該目錄的內容以查看創建了哪些文件:
Outputmanage.py testsite
你会注意到输出显示该目录包含一个名为 manage.py
的文件和一个名为 testsite
的文件夹。 manage.py
文件类似于 django-admin
,并将项目的包放在 sys.path
上。 这还将 DJANGO_SETTINGS_MODULE
环境变量设置为指向项目的 settings.py
文件。
您可以通过运行以下 less
命令在终端中查看 manage.py
脚本:
阅读完脚本后,按 q
退出查看文件。
现在转到 testsite
目录以查看创建的其他文件:
然后运行以下命令列出目录的内容:
您将看到四个文件:
Output__init__.py asgi.py settings.py urls.py wsgi.py
您可以了解每个文件的作用:
__init__.py
充当 Python 项目的入口点。asgi.py
包含可选部署到异步服务器网关接口或 ASGI 的配置,它为同步和异步应用程序提供了标准,并被认为是 WSGI 的继任者(见下文)。settings.py
描述了 Django 安装的配置,并让 Django 知道哪些设置是可用的。urls.py
包含一个urlpatterns
列表,将 URL 映射到其views
。wsgi.py
包含 Web 服务器网关接口或 WSGI 的配置,它提供了一个用于同步 Python 应用程序的标准。
注意:尽管生成了默认文件,但您仍然可以随时调整 asgi.py
或 wsgi.py
文件,以符合您的部署需求。
步骤 4 — 配置 Django
现在,您可以通过运行 runserver
命令启动服务器并在指定的主机和端口上查看网站。
您需要将您的服务器 IP 地址添加到位于 ~/test_django_app/testsite/testsite/
中的 settings.py
文件的 ALLOWED_HOSTS
列表中。
如 Django 文档中所述,ALLOWED_HOSTS 变量包含“表示此 Django 站点可以提供服务的主机/域名的字符串列表。这是一项安全措施,用于防止 HTTP 主机标头攻击,即使在许多看似安全的 Web 服务器配置下,这种攻击也是可能的。”
您可以使用您喜欢的文本编辑器添加您的 IP 地址。例如,如果您使用的是 nano
,请运行以下命令:
一旦您執行了命令,您將希望導航至文件中的ALLOWED_HOSTS
部分,並將您的伺服器IP地址添加到方括號內,單引號或雙引號之間。
您可以保存更改並退出nano,按住CTRL
+ x
鍵,然後按y
鍵。接下來,您將繼續通過瀏覽器訪問您的Web應用程式。
最後,創建一個管理用戶,以便您可以使用Django管理界面。可以使用createsuperuser
命令完成此操作:
您將被要求為您的用戶名、電子郵件地址和密碼進行輸入。
第5步 — 訪問Django Web應用程式
配置完成後,請務必返回到manage.py
所在的目錄:
現在,運行以下命令,將your-server-ip文本替換為您的伺服器IP:
最後,您可以導航到下面的鏈接,查看您的骨架網站的外觀,再次將突出顯示的文本替換為您服務器的實際IP:
http://your-server-ip:8000/
頁面加載完成後,您將看到以下內容:
這證實了Django已經正確安裝並且您的測試項目正常運行。
要訪問管理界面,請將/admin/
添加到您的URL末尾:
http://your_server_ip:8000/admin/
這將帶您到一個登錄界面:
如果您輸入剛剛創建的管理員用戶名和密碼,您將能夠訪問網站的主管理部分:
有關使用Django管理界面的更多信息,請參見“如何啟用和連接Django管理界面。”
當您完成應用程序的測試時,您可以按下CTRL
+ C
來停止runserver
命令。這將返回您的編程環境。
當您準備離開Python環境時,您可以運行deactivate
命令:
退出您的編程環境將使您回到終端命令提示符。
結論
在本教程中,您已成功安裝了Django並設置了開發環境,以開始開發您的Django應用程序。
你現在已經具備了開始建立 Django 網頁應用程式所需的基礎。