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 程式碼
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Hello Template</title> <h1 id="Hello-name">Hello, {{ name }}!</h1>
當您再次造訪學習 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中文網其他相關文章!

可以使用多種方法在Python中連接兩個列表:1.使用 操作符,簡單但在大列表中效率低;2.使用extend方法,效率高但會修改原列表;3.使用 =操作符,兼具效率和可讀性;4.使用itertools.chain函數,內存效率高但需額外導入;5.使用列表解析,優雅但可能過於復雜。選擇方法應根據代碼上下文和需求。

有多種方法可以合併Python列表:1.使用 操作符,簡單但對大列表不內存高效;2.使用extend方法,內存高效但會修改原列表;3.使用itertools.chain,適用於大數據集;4.使用*操作符,一行代碼合併小到中型列表;5.使用numpy.concatenate,適用於大數據集和性能要求高的場景;6.使用append方法,適用於小列表但效率低。選擇方法時需考慮列表大小和應用場景。

CompiledLanguagesOffersPeedAndSecurity,而interneterpretledlanguages provideeaseafuseanDoctability.1)commiledlanguageslikec arefasterandSecureButhOnderDevevelmendeclementCyclesclesclesclesclesclesclesclesclesclesclesclesclesclesclesclesclesclesandentency.2)cransportedeplatectentysenty

Python中,for循環用於遍歷可迭代對象,while循環用於條件滿足時重複執行操作。 1)for循環示例:遍歷列表並打印元素。 2)while循環示例:猜數字遊戲,直到猜對為止。掌握循環原理和優化技巧可提高代碼效率和可靠性。

要將列表連接成字符串,Python中使用join()方法是最佳選擇。 1)使用join()方法將列表元素連接成字符串,如''.join(my_list)。 2)對於包含數字的列表,先用map(str,numbers)轉換為字符串再連接。 3)可以使用生成器表達式進行複雜格式化,如','.join(f'({fruit})'forfruitinfruits)。 4)處理混合數據類型時,使用map(str,mixed_list)確保所有元素可轉換為字符串。 5)對於大型列表,使用''.join(large_li

pythonuseshybridapprace,ComminingCompilationTobyTecoDeAndInterpretation.1)codeiscompiledtoplatform-Indepententbybytecode.2)bytecodeisisterpretedbybythepbybythepythonvirtualmachine,增強效率和通用性。

theKeyDifferencesBetnewpython's“ for”和“ for”和“ loopsare:1)” for“ loopsareIdealForiteringSequenceSquencesSorkNowniterations,而2)”,而“ loopsareBetterforConterContinuingUntilacTientInditionIntionismetismetistismetistwithOutpredefinedInedIterations.un

在Python中,可以通過多種方法連接列表並管理重複元素:1)使用 運算符或extend()方法可以保留所有重複元素;2)轉換為集合再轉回列表可以去除所有重複元素,但會丟失原有順序;3)使用循環或列表推導式結合集合可以去除重複元素並保持原有順序。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SublimeText3 Linux新版
SublimeText3 Linux最新版

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。