文章最後更新於 2023 年 1 月 31 日
以下是跟AI聊聊Django的一些筆記
什麼是 Django?
Django 是一個強大且免費的 Python 框架,旨在使建立網站及 Web 應用程式變得簡單。它的主要目標是提供一個架構,讓你可以專注於構建應用程式的核心功能,而不是花時間在構建基礎架構方面。Django 包含了用於建立網站的大多數常用工具,包括用於處理 HTTP 請求、顯示資料、和管理使用者身份驗證的功能。
為什麼要用 Django?
有許多理由可以解釋為什麼要使用 Django,包括:
- 簡單易用:Django 有一個簡潔的統一的設計,使得建立網站變得簡單。它包含了用於建立網站的大多數常用工具,因此你可以專注於構建應用程式的核心功能。
- 功能強大:Django 提供了大量的功能,包括用於建立管理後台的工具、用於建立表單的工具、以及用於進行網站國際化的工具。
- 有社群支援:Django 有一個活躍的社群,可以提供協助和支援。如果你遇到問題,可以很容易地在網路上找到解決方案。
- 安全:Django 非常重視安全性,並提供了許多用於保護網站免受攻擊的功能。
- 可擴展:Django 是一個模組化的框架,可以輕鬆地擴展功能。你可以使用現有的模組,或者建立自己的模組來擴展功能。
什麼地方會用到 Django?
Django 通常用於構建數據導向的 Web 应用程序,並且在很多不同的領域中使用。例如:
- 商業:Django 可以用於構建 CRM 系統、企業資源計劃系統和其他企業应用程序。
- 社交媒體:Django 可以用於構建社交媒體平臺,如 Twitter 或 Facebook。
- 教育:Django 可以用於構建在線課程平臺或教學管理系統。
- 金融:Django 可以用於構建金融應用程序,如在線銀行或投資管理工具。
這只是其中的一些示例,Django 的應用非常廣泛。
如何使用 Django?
使用 Django 的一般步驟如下:
- 安裝 Django。
- 使用
django-admin startproject
命令創建新項目。 - 創建應用程序。
- 為應用程序創建模型。模型是 Django 中的數據定義,用於定義您的應用程序中使用的數據類型。
- 使用 Django 的 ORM(對象關係映射)和管理器在數據庫中創建、更新和查詢模型。
- 為模型創建視圖,這些視圖是您的應用程序中用於展示數據的功能。
- 創建模板,這些模板是用於渲染視圖的 HTML 文件。
- 配置 URL,使用 Django 的 URLconf 系統將 URL 映射到視圖。
- 啟動服務器並測試您的應用程序。
一個新的 Django Project 資料匣裡有些什麼?
一個新的 Django 項目資料夾通常包含以下幾個檔案和資料夾:
- manage.py:這是一個可執行的檔案,它可以幫助你執行各種 Django 管理任務。
- 項目名稱/:這是你的 Django 項目的根目錄,它包含你的項目的設定和其他重要檔案。
- 項目名稱/__init__.py:這是一個空的檔案,它使項目名稱資料夾變成一個 Python 模組。
- 項目名稱/settings.py:這是你的 Django 項目設定檔。它包含了你項目的設定,包括資料庫設定、應用程式設定等等。
- 項目名稱/urls.py:這是你的 Django 項目的 URL 設定檔。它包含了你項目中所有 URL 模式的列表,並指定哪個模式對應到哪個 view。
- 項目名稱/asgi.py:這是你的 Django 項目的 ASGI 配置檔。ASGI (Asynchronous Server Gateway Interface) 是一種新的 Python Web Server Gateway Interface,可以用於構建異步網站。
- 項目名稱/wsgi.py:這是你的 Django 項目的 WSGI 配置檔。WSGI (Web Server Gateway Interface) 是一種用於構建網站的標準接口,它可以讓你的 Django 項目與各種 Web 服務器集成。
此外,你的 Django 項目資料夾還可能包含一個或多個 app 資夾,每個 app 資料夾都包含了一個 Django app 的代碼和資源。每個 app 資料夾通常包含以下檔案和資料夾:
- __init__.py:這是一個空的檔案,它使 app 資料夾變成一個 Python 模組。
- admin.py:
- 它用於註冊你的 app 中的模型到 Django 的管理後台 (admin site)。
- Django 的管理後台是一個方便的工具,可以讓你通過瀏覽器直接管理你的網站資料庫。例如,你可以使用管理後台新增、修改或刪除資料庫中的記錄。
- 在你的 app 中的 admin.py 檔中,你可以定義一個或多個 ModelAdmin 類,用於控制每個模型如何在管理後台中顯示。例如,你可以指定哪些欄位在列表中顯示,或者指定哪些欄位可以在詳細頁面中編輯。
- 為了讓你的 app 中的模型可以在管理後台中使用,你需要在 admin.py 檔中註冊它們。例如,如果你有一個模型叫做 "Article",你可以在 admin.py 檔中這樣註冊它:
from django.contrib import admin
from .models import Article
admin.site.register(Article)
這樣,你就可以在管理後台中使用 Article 模型了。
- models.py:這是你的 Django app 中模型的定義檔。模型是 Django ORM (Object-Relational Mapper) 用來描述資料庫中表格的類。
- views.py:這是你的 Django app 中视图的定義檔。视图是用來控制頁面內容的函數或類。
- urls.py:這是你的 Django app 中 URL 設定的定義檔。它包含了你的 app 中所有 URL 模式的列表,並指定哪個模式對應到哪個 view。
- tests.py 檔
- 通常是 Django app 中的一個檔案,用於定義測試函數和測試類。
- 在 Django 中,測試是一個很重要的環節,因為它可以幫助你確保你的代碼在修改後仍然能夠正常工作。測試函數和測試類用於測試你的代碼是否符合預期,並在發現問題時給出警告。
- 在你的 app 中的 tests.py 檔中,你可以定義多個測試函數或測試類,並使用 Django 的測試工具來執行這些測試。例如,你可以使用 Django 的 TestCase 類來寫一個單元測試,並使用 assertEqual() 函數來驗證某個值是否符合預期。
- 為了執行你的測試,你可以在命令列中輸入以下命令:
python manage.py test
- 會自動執行你的 app 中的所有測試函數和測試類,並顯示測試結果。如果你想執行特定的測試函數或測試類,你可以在命令後面加上測試名稱,例如:
python manage.py test myapp.tests.TestMyModel
- 這會執行你的 app 中名稱為 "TestMyModel" 的測試類。
- migrations/:這是一個資料夾,包含了你的 Django app 中的數據庫遷移腳本。Django 使用遷移腳本來跟蹤你的模型中的變化,並自動更新你的數據庫。
- static/:這是一個資料夾,包含了你的 Django app 中的靜態資源,例如 CSS 檔、JavaScript 檔和圖像檔等。
- templates/:這是一個資料夾,包含了你的 Django app 中的模板檔。模板是用來生成动态頁面的 HTML 文件。
使用 Django 要注意什麼?
在使用 Django 構建 Web 应用程序時,您可能需要注意以下事項:
- Django 使用了 MVC 架構模式(模型 - 視圖 - 控制器)。確保了解 MVC 架構,並遵循 Django 的 MVC 模式,可以幫助您更好地管理應用程序的代碼。
- Django 有一個健全的用戶管理系統,但是您仍然需要自己管理用戶資料(如密碼哈希)和權限。
- Django 需要使用數據庫,因此您需要了解如何配置和使用數據庫,以及如何在 Django 中使用 ORM。
- Django 具有強大的表單系統,但是您仍然需要了解如何處理表單輸入和驗證。
- Django 有一個內置的靜態文件管理器,但是您仍然需要了解如何管理應用程序的靜態文件(如 CSS 和 JavaScript)。
這只是使用 Django 時您可能會遇到的一些常見問題的示例。
關於作者
- 我是Oscar (卡哥),前Yahoo Lead Engineer、高智商同好組織Mensa會員,超過十年的工作經驗,服務過Yahoo關鍵字廣告業務部門、電子商務及搜尋部門,喜歡彈吉他玩音樂,也喜歡投資美股、虛擬貨幣,樂於與人分享交流!
最新文章
- 2025 年 2 月 8 日人工智能(AI)高效使用DeepSeek R1的7個核心技巧與地雷提示詞解析|2025實戰指南
- 2025 年 1 月 4 日心得筆記怎樣做成大事 – How Big Things Get Done
- 2024 年 8 月 26 日Java如何在 Java Spring Boot 中輕鬆使用 @Cacheable 提高應用效能
- 2024 年 8 月 25 日技術文章新手必看:MongoDB 實用入門指南 – 從零開始學習 NoSQL 數據庫