首頁  >  文章  >  後端開發  >  理解 Django 的架構:MTV 模式。

理解 Django 的架構:MTV 模式。

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-18 20:16:30722瀏覽

Understanding Django’s Architecture: The MTV Pattern.

Django 遵循 MTV(模型-模板-視圖)模式進行 Web 開發。以下是每個組件的詳細資訊:

模型:定義資料結構並處理與資料庫的交互,讓您可以儲存和檢索資料而無需手動編寫 SQL 查詢。

模板:負責渲染 HTML 並將資料呈現給使用者。您可以編寫與 Django 模板語言 (DTL) 混合的 HTML 來顯示動態內容。

視圖:充當業務邏輯層。它連接模型和模板,處理用戶請求,與模型交互,並返回回應(通常是從模板渲染的 HTML)。

Django 的請求-回應週期如何運作:

  • 使用者請求網頁(透過 URL)。
  • Django 將 URL 配對到視圖。
  • 視圖從模型中取得資料並將其傳遞給範本。
  • 模板將資料呈現為 HTML 並將其作為回應傳回給使用者。

第 1 步:在 Django 中建立一個新應用程式
設定 Django 後(如上一篇文章所述),讓我們在您的專案中建立一個新應用程式。

執行這些指令:

cd mysite
python3 manage.py startapp core

這會在您的 mysite 專案中建立一個名為 core 的應用程式。您的文件結構現在應如下所示:

.
├── core
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
├── db.sqlite3
├── manage.py
└── mysite
    ├── asgi.py
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

第 2 步:在設定檔中註冊您的應用程式
為了讓 Django 知道新應用程序,您需要將其添加到 mysite/settings.py 中的 INSTALLED_APPS 中:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'core',  # add this line
]

第 3 步:建立基本視圖
讓我們建立一個傳回「Hello, World!」的簡單視圖。消息。

在核心應用程式中開啟views.py並加入以下程式碼:

from django.http import HttpResponse

def learn(request):
    return HttpResponse("Hello, World!")

第 4 步:將 URL 對應到視圖
要透過 URL 存取此視圖,您需要將其對應到 core/urls.py 檔案中。如果該文件不存在,則建立該文件並添加以下內容:

from django.urls import path
from . import views

urlpatterns = [
    path('learn/', views.learn, name='learn'),
]

接下來,將核心應用程式的 URL 包含在主 mysite/urls.py 檔案中:

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('core/', include('core.urls')),  # include the core app URLs
]

現在,如果您執行伺服器並造訪 http://127.0.0.1:8000/core/learn/,您應該會看到「Hello, World!」顯示。
第 5 步:建立並渲染模板

from django.shortcuts import render

def learn(request):
    context = {'name': 'Django'}
    return render(request, 'hello.html', context)

此視圖現在將變數(名稱)傳遞給名為 hello.html 的範本。
第 6 步:建立範本目錄和 HTML 檔案.
在您的核心應用程式中,建立一個 templates 資料夾和一個 hello.html 檔案:

mkdir core/templates
touch core/templates/hello.html

在 hello.html 中,加入以下 HTML 程式碼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hello Template</title>
</head>
<body>
    <h1>Hello, {{ name }}!</h1>
</body>
</html>

當您再次造訪學習 URL 時,您現在應該會看到「Hello, Django!」在瀏覽器中。

第 7 步:建立基本模型.
讓我們建立一個簡單的 Post 模型來儲存部落格文章。

在 core/models.py 中,加入以下程式碼:

cd mysite
python3 manage.py startapp core

這個 Postmodel 有兩個欄位:標題和內容。 __str__ 方法確保 Post 物件在 Django 管理或 shell 中顯示及其標題

第 8 步:將模型套用到資料庫
若要在資料庫中建立對應的表,請執行下列命令:

.
├── core
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
├── db.sqlite3
├── manage.py
└── mysite
    ├── asgi.py
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

Django 現在將為 Post 模型建立一個資料庫表。

透過執行這些步驟,您已成功建立了一個包含模型、視圖和範本的基本 Django 應用程式。現在,您可以透過添加更多功能來擴展此基礎,例如處理使用者輸入、改進設計以及使應用程式更具互動性。

以上是理解 Django 的架構:MTV 模式。的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn