Django 教程:從零開始學習 DJango

已發表: 2022-02-17

Django 是一個基於 Python 的高級 Web 開發框架,為有效的網站開發和維護提供標準方法。 以創建具有簡潔實用設計的​​複雜、數據庫驅動的網站為主要目標,Django 提供了現成的組件,用於以最少的代碼參與快速開發 Web 應用程序。

在這個面向初學者的 Python Django 教程中,我們將了解 Django 的基本概念,例如 Django 歷史、特性、架構、組件和安裝。

目錄

姜戈的歷史

Adrian Holovaty 和 Simon Willison 於 2003 年作為 Lawrence Journal-World Newspaper 的內部項目啟動了 Django。該項目在爵士吉他手 Django Reinhard 之後於 2005 年以“Django”的名義發布。 2008 年,Django 被宣佈為 Django Software Foundation 的註冊商標,並於 2009 年發布了 Django v1.1。 它具有基於翻譯的測試和聚合等功能。 隨後幾年發布了更高級的 Django 版本。 目前,Django 是一個開源項目。

Django的特點

在這篇面向初學者的 Django 教程中,我們現在將了解 Django 的特性,這些特性使其成為 Web 開發的優秀框架:

  • Django 框架中的代碼是用 Python 編寫的,它可以在 Linux、Windows 和 Mac OS 等大多數平台上運行。 這使得 Django 非常便攜。
  • Django 文檔是市場上最好的文檔之一。 毫無疑問,它在開發人員中如此受歡迎!
  • Django 提供了高可擴展性。 作為擁有數百萬活躍用戶的最受歡迎的社交媒體平台之一,Instagram 是 Django 可擴展性的一個突出例子。
  • Django 是一個高度安全的框架。 它提供了針對跨站點腳本、SQL 注入、跨站點請求偽造、遠程代碼執行和點擊劫持等攻擊的保護措施。
  • Django 用途廣泛,幾乎可以構建任何類型的網站。 它可以與任何客戶端框架一起使用,並以不同的格式交付內容,例如 JSON、HTML、XML 等。
  • 最重要的是,Django 提供了快速開發。 它無需後端知識和單獨的服務器文件來構建功能齊全的網站。

閱讀: Github 上的 7 個頂級 Django 項目 [適合初學者和有經驗者]

Django 架構

Django 架構基於 MVC(模型視圖控制器)軟件設計模式。 在傳統的網站設計方法中,所有代碼都寫在一個文件中。 該技術在網頁主要是靜態的並且網站不包含太多多媒體的舊時代很有幫助。 然而,隨著時代的變化,網站變得越來越廣泛和先進,傳統的方法已經跟不上。

MVC 模式解決了傳統方法的缺點,並為網站或 Web 應用程序的不同方面提供了不同的文件。 MVC 架構包含三個組件:模型、視圖和控制器。 它幫助開發人員專注於 Web 應用程序的一部分,確保更好的可擴展性、編碼、測試和調試。

模型

該模型充當數據庫和網站界面之間的中介。 用更專業的術語來說,模型實現了應用程序數據域的邏輯。 它是 Django 架構中包含業務邏輯的組件,主控制器以所需格式處理來自服務器的輸出。

例如,當我們在網站上註冊時,我們將信息發送到控制器組件,控制器組件將其傳輸到模型,然後在應用業務邏輯後將其存儲在數據庫中。

看法

Django 架構中的視圖組件包含 UI 邏輯並決定應該呈現哪些數據。 它是 Web 應用程序的用戶界面,包括 CSS、HTML 和其他前端技術等部分。 UI 從模型組件中獲取內容。

例如,當我們與任何網站組件交互時,例如點擊鏈接,生成的新網頁實際上是特定的視圖。

控制器

控制器是 Django 架構中的主要控制組件。 它處理用戶交互並根據模型決定視圖組件。 從前面的模型和視圖示例中,很明顯控制器選擇不同的視圖並將數據傳輸到模型。

Django 架構

資源

Django 使用術語“視圖”表示“控制器”,使用“模板”表示“視圖”。 因此,您可能還會發現 Django MVC 架構被描述為 Django MVT 架構,是 Model View Template 的首字母縮寫。 模板組件是處理表示邏輯並決定向用戶顯示什麼內容以及如何顯示的表示層。

Django MVC 架構

資源

安裝 Django 並創建一個基本項目

在開始使用 Django 之前,您需要在 PC 上安裝 Python 和 Django。 下面給出了一步一步的 Django 安裝指南:

第 1 步:安裝 Python 3

  • 如果您的系統上還沒有 Python 3,請安裝它。 安裝 Python 3 還應該安裝 Python 包管理器 pip。
  • 對於 Windows,打開命令提示符(Linux 和 Mac 的終端提示符)並輸入以下命令:
    python -m pip install -U pip
  • 現在,輸入以下命令來安裝虛擬環境。
    點安裝虛擬環境
  • 接下來,您必須設置虛擬環境。
    通過給出命令 virtualenv env_site 創建一個虛擬環境
    使用命令 cd env_site 將目錄更改為 env_site
    通過轉到 env_site 中的腳本目錄來激活虛擬環境
    cd 腳本
    啟用

第 2 步:安裝 Django 並創建一個基本項目

  • 要安裝 Django,請輸入以下命令:
    點安裝django
  • 現在,輸入命令 cd.. 以返回 env_site 目錄。
  • 鍵入以下命令以啟動項目:
    django-admin startproject upgrad_project
  • 使用以下命令將目錄更改為 upgrad_project:
    cd 升級項目
  • 使用以下命令啟動服務器:
    python manage.py 運行服務器
  • 可以運行服務器後,轉到瀏覽器並在 URL 欄中鍵入Localhost:8000 如果您已成功安裝 Django,您將在測試服務器頁面上收到一條消息。

Django 的受歡迎程度

Django 框架用於構建基於 Web 的高級應用程序並支持各種業務流程,包括 SaaS 解決方案和電子商務站點。 使 Django 在大量數據庫應用程序中如此受歡迎的原因在於它與 Python 和 Python 在機器學習中的應用程序的關聯。 Django 允許快速的 Web 開發和乾淨、高效的設計。 使用 Django 的知名公司包括 Instagram、Mozilla、Disqus、Spotify、國家地理、YouTube、華盛頓郵報、Pinterest 等。

另請閱讀: Django 應用程序:您需要了解的一切

結論

Django 是一個基於 Python 的 Web 開發框架,用於構建和維護 Web 應用程序。 可擴展、多功能和高度安全的 Django 使 Web 開發過程成為一種無縫且省時的體驗。

除了快速開發之外,Django 在其整個代碼中都堅持簡潔的設計理念,使得應用 Web 開發最佳實踐變得容易。 此外,Django 提供了一個現成的管理 GUI,一個用於端到端應用程序開發和測試的輕量級 Web 服務器,並內置了對 RSS、Ajax 等的支持。它還支持廣泛的數據庫集系統。 但是,Django 不能一次處理多個請求。

在這個 Django 初學者教程中,我們討論了 Django 的一些基本方面,包括安裝步驟。

從世界頂級大學在線學習軟件開發課程。 獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。

前進之路

在這個 Django 初學者教程中,我們討論了 Django 的一些基本方面,包括安裝步驟。 接下來,您可以繼續學習更高級的 Django 主題。

在學習 Django 之前,明智的做法是在 Java 上建立一個據點,以幫助您更好地理解 Django。 但是,如果我們告訴您,您可以學習 Java 並獲得 DevOps 的高級認證呢?

upGrad 在 DevOps 中的高級證書計劃是可能

課程亮點:

  • 專為工作專業人士設計。
  • IIIT 班加羅爾的高級認證。
  • 250 多個小時的學習時間。
  • 全面覆蓋相關編程語言、工具和庫,包括Python
  • 行業專家指導。
  • 對等學習和網絡。
  • 360 度的職業幫助。

1. Django 適合初學者嗎?

Django 是一個用於構建網站和 Web 應用程序的開源框架。 由於 Django 是基於 Python 的,因此非常適合初學者。 對於剛剛學習編碼的初學者來說,Python 是最好和最簡單的語言之一。 所以,如果你有 Python 技能,使用 Django 會更容易。

2. Instagram 是基於 Django 構建的嗎?

Instagram 是最大和最受歡迎的社交媒體應用程序之一,其後端使用 Python。 它擁有世界上最大的完全用 Python 編寫的 Django 框架部署。 由於 Instagram 涉及以分享、點贊等形式進行的大量用戶和數據交互,因此 Django 非常適合處理所有這些交互。 在 Django 上運行的其他流行應用程序包括 YouTube、Spotify、Disqus、Dropbox 等。

3. Django 和 HTML 有什麼區別?

Django 是一個基於 Python 的框架,它提供了一種快速簡便的方式來構建網站和 Web 應用程序。 另一方面,HTML 是一種指示網站結構和內容的標記語言,只能用於構建靜態網站。 例如,HTML 決定網頁的內容是否應該以列表、一組段落或數據表和圖像的形式進行結構化。