使用 Django startapp 建立 Resumes 應用:完整指南
更新日期: 2024 年 12 月 1 日
本文為 Django 新手教學,第 8 篇:
- 如何快速開啟 Django 開發環境:新手指南
- 使用 Django 設置網站路徑:新手入門指南
- 使用 Django 的路由模組化管理:入門指南
- 在 Django 中使用網頁樣板:入門指南
- 使用 Django 樣板繼承實現頁面佈局共享
- Django 的 MTV 架構與 startapp 指令全面解析
- 深入理解 Django 的 INSTALLED_APPS 與應用設置
- 使用 Django startapp 建立 Resumes 應用:完整指南 👈所在位置
若閱讀完本文,歡迎接續閱讀:Django 進階教學
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.py
的 INSTALLED_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 應用首頁模板
小結
通過以上步驟,我們完成了以下內容:
- 使用
startapp
創建了 Resumes 應用。 - 在
settings.py
中註冊應用,使其成為專案的一部分。 - 為應用設置了 URL 路由與視圖,並實現首頁模板的渲染。
- 將應用整合到主路由,確保可以通過專案訪問。
這樣設置後,Resumes 應用已具備了基本的 MVC 結構,能夠實現模板渲染與路由分發功能。
如果需要進一步擴展,可以在此基礎上新增模型、靜態文件等,構建更複雜的功能模組。