首頁 >後端開發 >Python教學 >了解 Django 基礎知識

了解 Django 基礎知識

王林
王林原創
2024-07-26 11:15:21478瀏覽

Understanding Django Fundamentals

在上一篇部落格中,我們設定了開發環境並創建了一個基本的 Django 專案和應用程式。現在,是時候更深入了解 Django 的基礎方面了,包括其專案結構、模型-視圖-模板 (MVT) 架構和 Django 管理介面。讀完本文後,您應該對這些概念有深入的了解,並準備好創建一個簡單的部落格應用程式。

概述

本部落格將深入探討 Django 的基礎知識,包括其專案架構、MVT 架構和 Django 管理介面。

涵蓋的主題

  • Django 專案結構
  • 模型、視圖與範本 (MVT)
  • Django 管理員

目標

  • 了解 MVT 架構
  • 在 Django 中建立模型、視圖和模板
  • 使用 Django 管理介面

Django 專案結構

理解 Django 的專案結構對於有效地導航和組織程式碼至關重要。當您建立新的 Django 專案和應用程式時,會產生以下目錄結構:

myproject/
    manage.py
    myproject/
        __init__.py
        settings.py
        urls.py
        wsgi.py
        asgi.py
    blog/
        __init__.py
        admin.py
        apps.py
        models.py
        tests.py
        views.py
        migrations/

  • manage.py:幫助管理 Django 專案的命令列實用程式。
  • myproject/:包含設定和配置的主項目目錄。
  • settings.py:專案的配置設定。
  • urls.py:專案的 URL 聲明。
  • wsgi.py 和 asgi.py:WSGI/ASGI 相容於 Web 伺服器的入口點。
  • blog/:包含應用程式特定檔案的 Django 應用程式目錄。

模型、視圖和範本 (MVT)

Django 遵循模型-視圖-模板 (MVT) 架構,這是 MVC 模式的變體。這種架構促進了關注點的清晰分離,使您的程式碼更有組織性和可維護性。

型號

模型定義資料庫表的結構。每個模型都是一個 Python 類,它是 django.db.models.Model 的子類別。

# blog/models.py

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    published_date = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

意見

視圖負責應用程式的邏輯和資料處理。它們接受請求、與模型互動並回傳回應。

# blog/views.py

from django.shortcuts import render
from .models import Post

def home(request):
    posts = Post.objects.all()
    return render(request, 'blog/home.html', {'posts': posts})

範本

範本定義網頁的 HTML 結構和呈現方式。它們可以使用 Django 模板標籤和過濾器包含動態內容。

<!-- blog/templates/blog/home.html -->

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Blog Home</title>
</head>
<body>
    <h1>Blog Posts</h1>
    {% for post in posts %}
        <h2>{{ post.title }}</h2>
        <p>{{ post.content }}</p>
        <p>Published on: {{ post.published_date }}</p>
    {% endfor %}
</body>
</html>

網址配置

要將 URL 對應到視圖,需要在 urls.py 中設定 URL 模式。

# myproject/urls.py

from django.contrib import admin
from django.urls import path
from blog import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.home, name='home'),
]

Django 管理員

Django 管理介面是一個強大的工具,用於管理應用程式的數據,而無需編寫任何額外的程式碼。它會自動為您的模型產生用戶友好的介面。

設定 Django 管理員

  • 註冊模型:向管理網站註冊您的模型,以使它們在管理介面中可用。
# blog/admin.py

from django.contrib import admin
from .models import Post

admin.site.register(Post)

  • 建立超級使用者:建立超級使用者以存取管理介面。
python manage.py createsuperuser

  • 存取管理介面:啟動開發伺服器並導航至http://127.0.0.1:8000/admin/。使用您的超級用戶憑證登入來管理您的資料。

結論

這是在 Django 中編寫應用程式的過程的概述。請繼續關注本系列的下一部分,我們將應用所學知識來創建一個簡單的部落格應用程式。

以上是了解 Django 基礎知識的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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