引言
Django 是一個強大的Python Web架構,它以快速開發和高度可擴充性而聞名。本文将帶您深入了解Django的基本概念和核心功能,幫助您從零開始建構一個簡單的Web應用。
什麼是Django?
Django 是一個基于MVC(模型-視圖-控制器)設計模式的Web架構,旨在簡化Web應用程式的開發過程。它由Django軟體基金會維護,并且采用了Python的一系列最佳實踐。Django 提供了大量的功能和工具,使開發者可以專注于業務邏輯而不是底層架構。
環境準備
在開始學習Django之前,請確定已經安裝了Python和pip(Python包管理器)。然後使用以下指令安裝Django:
cmd複制代碼pip install Django
建立一個Django項目
使用Django的指令行工具建立一個新的項目:
cmd複制代碼django-admin startproject myproject
這将在目前目錄下建立一個名為"myproject"的檔案夾,其中包含Django項目的基本結構。
Django項目的基本結構如下:
cmd複制代碼myproject/
├── manage.py
└── myproject/
├── __init__.py
├── asgi.py
├── settings.py
├── urls.py
└── wsgi.py
檔案作用如下:
- manage.py:Django指令行工具,用于管理項目。
- myproject/:包含項目的Python包。
- __init__.py:辨別myproject目錄是一個Python包。
- asgi.py:ASGI(異步伺服器網關接口)配置檔案,用于異步Web伺服器的配置。
- settings.py:項目的配置檔案,包含各種設定,如資料庫配置、靜态檔案路徑等。
- urls.py:URL映射配置檔案,将URL路徑映射到相應的視圖函數。
- wsgi.py:WSGI(Web伺服器網關接口)配置檔案,用于傳統Web伺服器的配置。
運作Django開發伺服器
進入項目目錄并運作開發伺服器:
cmd複制代碼cd myproject
python manage.py runserver
運作指令後,打開浏覽器,可以在浏覽器中通路http://127.0.0.1:8000/,将看到Django的歡迎頁面,表示您的Django項目已經成功運作。如下圖:
建立Django應用
Django項目可以包含一個或多個應用。每個應用都是一個獨立的功能子產品。使用以下指令建立一個新的應用:
cmd複制代碼python manage.py startapp myapp
運作指令之後,我們将在項目目錄下看到建立了myapp應用。
Django應用的基本結構
新建立的Django應用的基本結構如下:
cmd複制代碼myapp/
├── migrations/
├── __init__.py
├── admin.py
├── apps.py
├── models.py
├── tests.py
└── views.py
檔案作用如下:
- migrations/:包含資料庫遷移檔案的目錄。
- __init__.py:辨別myapp目錄是一個Python包。
- admin.py:Django管理背景配置檔案,用于管理應用的模型。
- apps.py:應用的配置檔案。
- models.py:應用的資料模型定義檔案。
- tests.py:用于編寫應用測試的檔案。
- views.py:應用的視圖函數定義檔案。
定義資料模型
編輯myapp/models.py檔案,定義資料模型。例如,建立一個簡單的Post模型:
python複制代碼from django.db import models
class Post(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
pub_date = models.DateTimeField('date published')
def __str__(self):
return self.title
然後運作以下指令,建立資料模型的資料庫遷移:
cmd複制代碼python manage.py makemigrations myapp
最後,應用資料庫遷移:
cmd複制代碼python manage.py migrate
建立視圖
編輯myapp/views.py檔案,建立一個簡單的視圖函數:
python複制代碼from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, this is myapp's index page.")
配置URL映射
在myapp/urls.py檔案中配置URL映射:
python複制代碼from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
然後,在myproject/urls.py檔案中包含應用的URL配置:
python複制代碼from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('myapp/', include('myapp.urls')),
]
運作應用
現在,重新啟動開發伺服器:
python複制代碼python manage.py runserver
在浏覽器中通路http://127.0.0.1:8000/myapp/,将看到應用的首頁顯示"Hello, this is myapp's index page."。
總結
在本文中,我們介紹了Django的基本概念、項目和應用的建立、資料模型定義、視圖函數的編寫以及URL映射的配置。Django擁有強大的功能和豐富的生态系統,可以幫助建構複雜的Web應用。繼續學習Django的進階特性,将能夠建構更加強大和複雜的Web應用程式。
擷取更多技術資料,請點選!> 霍格沃茲測試開發學社|免費學習資料大放送,助你事半功倍! - 公衆号 - 測試人社群