使用 Django startapp 建立 Resumes 應用:完整指南

更新日期: 2024 年 12 月 1 日

Django 提供的 startapp 指令可以快速生成應用的基礎結構,幫助開發者輕鬆地實現功能模組化。

在本篇文章中,我們將以建立 Resumes 應用為例,詳細講解如何一步步完成應用的設置,並整合到專案中。


使用 startapp 創建 Resumes 應用

首先,執行以下指令來創建應用:

python manage.py startapp resumes

執行後,Django 會生成一個名為 resumes 的資料夾,基礎結構如下:

mysite/

├── manage.py
├── mysite/
   ├── settings.py
   ├── urls.py
   ├── ...
├── resumes/
   ├── __init__.py
   ├── admin.py
   ├── apps.py
   ├── migrations/
   ├── models.py
   ├── tests.py
   ├── views.py

將 Resumes 設置為 APP

為了讓 Django 專案識別 resumes 應用,我們需要在 settings.pyINSTALLED_APPS 中註冊它:

INSTALLED_APPS = [
    ...,
    'resumes',  # 新增 Resumes 應用
]

為什麼需要設置為 APP?

註冊後,Django 能自動檢索應用中的模板、靜態文件、模型等,並將其整合到專案中。


設置應用內的 URL 與視圖

接下來,我們需要為 resumes 應用設置路由與視圖。

在 Resumes 應用新增 urls.py

resumes/ 資料夾中新增 urls.py,內容如下:

from django.urls import path
from .views import home

urlpatterns = [
    path("", home),  # 根路徑對應到 home 視圖
]

設置 views.py

resumes/views.py 中,新增以下代碼:

from django.shortcuts import render

# Resumes 應用的首頁視圖
def home(request):
    return render(request, "resumes/home.html")

更新後的 Resumes 應用目錄結構如下:

mysite/

├── resumes/
   ├── __init__.py
   ├── admin.py
   ├── apps.py
   ├── migrations/
   ├── models.py
   ├── tests.py
   ├── urls.py        # 新增的 URL 配置
   ├── views.py       # 定義首頁視圖

新增模板目錄與模板文件

Django 的模板系統需要在特定的目錄中找到模板文件。

我們為 resumes 應用新增模板目錄,並設置模板文件。

創建模板目錄與文件

resumes/ 資料夾內新增以下結構:

resumes/

├── templates/
   ├── resumes/
       ├── home.html  # Resumes 首頁模板

編寫模板內容

resumes/templates/resumes/home.html 中,新增以下內容:

{% extends "shared/layout.html" %}

{% block content %}
<h1>Resume 首頁</h1>
{% endblock %}

此模板使用了母版樣板 layout.html,並在其中插入了專屬內容。


將 Resumes 應用整合到主路由

最後一步是將 Resumes 應用的路由整合到專案的主路由中。

更新主路由配置

mysite/urls.py 中,新增以下代碼:

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

urlpatterns = [
    path('admin/', admin.site.urls),          # 管理後台
    path('', include('pages.urls')),         # 頁面應用
    path('resumes/', include('resumes.urls'))  # Resumes 應用
]

完成後,當用戶訪問 /resumes/ 時,Django 會將請求轉交給 resumes 應用的 urls.py,進而渲染 home.html


整體目錄結構

完整的專案目錄結構如下:

mysite/

├── manage.py
├── mysite/
   ├── __init__.py
   ├── asgi.py
   ├── settings.py
   ├── urls.py         # 主路由
   ├── wsgi.py

├── resumes/
   ├── __init__.py
   ├── admin.py
   ├── apps.py
   ├── migrations/
   ├── models.py
   ├── tests.py
   ├── urls.py         # Resumes 應用路由
   ├── views.py        # Resumes 應用視圖
   ├── templates/
       ├── resumes/
           ├── home.html  # Resumes 應用首頁模板

小結

通過以上步驟,我們完成了以下內容:

  1. 使用 startapp 創建了 Resumes 應用。
  2. settings.py 中註冊應用,使其成為專案的一部分。
  3. 為應用設置了 URL 路由與視圖,並實現首頁模板的渲染。
  4. 將應用整合到主路由,確保可以通過專案訪問。

這樣設置後,Resumes 應用已具備了基本的 MVC 結構,能夠實現模板渲染與路由分發功能。

如果需要進一步擴展,可以在此基礎上新增模型、靜態文件等,構建更複雜的功能模組。

Similar Posts