天天看點

軟體測試|Django 入門:建構Python Web應用的全面指南

作者:測試者穆勒
軟體測試|Django 入門:建構Python Web應用的全面指南

引言

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 入門:建構Python Web應用的全面指南

建立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應用程式。

擷取更多技術資料,請點選!> 霍格沃茲測試開發學社|免費學習資料大放送,助你事半功倍! - 公衆号 - 測試人社群