我相信學習全端開發的最佳方法是使用該語言創建一個具有簡單前後端/端和資料庫連接的 CRUD 應用程式。
因此,本指南將引導您使用 Django 建立簡單的 CRUD(建立、讀取、更新、刪除)Todo 應用程式。我們將設定項目,建立應用程序,並在 Django 推薦的目錄結構中組織所有內容。
我的 Github、推特
先決條件
在我們開始之前,請確保您已經:
- Python已安裝(最好是3.6版本)
- Django 安裝(如果尚未安裝,請使用 pip install django 安裝)
步驟概述
- 設定 Django 專案和應用程式
- 定義 Todo 的模型
- 為 CRUD 操作建立視圖
- 為每個視圖新增 URL
- 為應用程式建立 HTML 範本
- 運行伺服器
第 1 步:設定 Django 專案和應用程式
- 建立一個名為todo_project的Django專案:
django-admin startproject todo_project cd todo_project
- 建立一個名為todo的應用程式:
python manage.py startapp todo
- 此時的目錄結構:
您的資料夾應如下所示:
todo_project/ ├── manage.py ├── todo/ # App directory created │ ├── migrations/ │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── models.py │ ├── tests.py │ ├── views.py └── todo_project/ ├── __init__.py ├── asgi.py ├── settings.py ├── urls.py ├── wsgi.py
- 在 todo_project/settings.py 中註冊應用程式: 開啟 settings.py 並將「todo」加入 INSTALLED_APPS:
INSTALLED_APPS = [ # Other installed apps 'todo', ]
第 2 步:定義 Todo 模型
- 在 todo/models.py 中定義 Todo 模型:
新增以下程式碼以建立一個模型,其中包含任務(描述)和已完成(狀態)欄位。
from django.db import models class Todo(models.Model): task = models.CharField(max_length=200) completed = models.BooleanField(default=False) def __str__(self): return self.task
- 應用遷移:
定義模型後,執行以下指令為此模型建立資料庫表:
python manage.py makemigrations python manage.py migrate
步驟3:建立CRUD操作的視圖
在 todo/views.py 中定義用於建立、列出、更新和刪除待辦事項的視圖:
from django.shortcuts import render, redirect from .models import Todo # Create a new Todo def create_todo(request): if request.method == 'POST': task = request.POST['task'] Todo.objects.create(task=task) return redirect('list_todos') return render(request, 'todo/create_todo.html') # List all Todos def list_todos(request): todos = Todo.objects.all() return render(request, 'todo/list_todos.html', {'todos': todos}) # Update a Todo def update_todo(request, todo_id): todo = Todo.objects.get(id=todo_id) if request.method == 'POST': todo.task = request.POST['task'] todo.completed = 'completed' in request.POST todo.save() return redirect('list_todos') return render(request, 'todo/update_todo.html', {'todo': todo}) # Delete a Todo def delete_todo(request, todo_id): todo = Todo.objects.get(id=todo_id) todo.delete() return redirect('list_todos')
第 4 步:新增 URL 模式
在 todo/urls.py 中定義每個視圖的 URL:
from django.urls import path from . import views urlpatterns = [ path('', views.list_todos, name='list_todos'), path('create/', views.create_todo, name='create_todo'), path('update/<todo_id>/', views.update_todo, name='update_todo'), path('delete/<todo_id>/', views.delete_todo, name='delete_todo'), ] </todo_id></todo_id>
在主 urls.py 檔案中,包含應用程式的 URL:
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('todo.urls')), ]
第 5 步:建立 HTML 模板
現在,在 todo 應用程式的 templates 目錄中建立 HTML 模板。遵循以下結構:
todo/ ├── migrations/ ├── templates/ │ └── todo/ │ ├── list_todos.html │ ├── create_todo.html │ └── update_todo.html ├── models.py ├── views.py └── ...
- 建立範本資料夾結構:
mkdir -p todo/templates/todo
- 建立範本:
list_todos.html
顯示任務清單並提供用於新增、編輯或刪除任務的連結。
django-admin startproject todo_project cd todo_project
建立待辦事項.html
用於新增任務的表單。
python manage.py startapp todo
update_todo.html
用於編輯現有任務的表單。
todo_project/ ├── manage.py ├── todo/ # App directory created │ ├── migrations/ │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── models.py │ ├── tests.py │ ├── views.py └── todo_project/ ├── __init__.py ├── asgi.py ├── settings.py ├── urls.py ├── wsgi.py
第 6 步:運行伺服器
現在一切都已設定完畢,運行 Django 開發伺服器來測試應用程式:
INSTALLED_APPS = [ # Other installed apps 'todo', ]
在瀏覽器中造訪http://127.0.0.1:8000/。您應該看到待辦事項清單並能夠建立、更新和刪除任務。
最終目錄結構
from django.db import models class Todo(models.Model): task = models.CharField(max_length=200) completed = models.BooleanField(default=False) def __str__(self): return self.task
就是這樣!您已成功建立具有 CRUD 介面的 Django Todo 應用程式。這種結構是可擴展的,您現在可以添加其他功能或使用 CSS 設計應用程式的樣式。快樂編碼!
以上是從頭開始建立 Django CRUD Todo 應用程式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python不是嚴格的逐行執行,而是基於解釋器的機制進行優化和條件執行。解釋器將代碼轉換為字節碼,由PVM執行,可能會預編譯常量表達式或優化循環。理解這些機制有助於優化代碼和提高效率。

可以使用多種方法在Python中連接兩個列表:1.使用 操作符,簡單但在大列表中效率低;2.使用extend方法,效率高但會修改原列表;3.使用 =操作符,兼具效率和可讀性;4.使用itertools.chain函數,內存效率高但需額外導入;5.使用列表解析,優雅但可能過於復雜。選擇方法應根據代碼上下文和需求。

有多種方法可以合併Python列表:1.使用 操作符,簡單但對大列表不內存高效;2.使用extend方法,內存高效但會修改原列表;3.使用itertools.chain,適用於大數據集;4.使用*操作符,一行代碼合併小到中型列表;5.使用numpy.concatenate,適用於大數據集和性能要求高的場景;6.使用append方法,適用於小列表但效率低。選擇方法時需考慮列表大小和應用場景。

CompiledLanguagesOffersPeedAndSecurity,而interneterpretledlanguages provideeaseafuseanDoctability.1)commiledlanguageslikec arefasterandSecureButhOnderDevevelmendeclementCyclesclesclesclesclesclesclesclesclesclesclesclesclesclesclesclesclesclesandentency.2)cransportedeplatectentysenty

Python中,for循環用於遍歷可迭代對象,while循環用於條件滿足時重複執行操作。 1)for循環示例:遍歷列表並打印元素。 2)while循環示例:猜數字遊戲,直到猜對為止。掌握循環原理和優化技巧可提高代碼效率和可靠性。

要將列表連接成字符串,Python中使用join()方法是最佳選擇。 1)使用join()方法將列表元素連接成字符串,如''.join(my_list)。 2)對於包含數字的列表,先用map(str,numbers)轉換為字符串再連接。 3)可以使用生成器表達式進行複雜格式化,如','.join(f'({fruit})'forfruitinfruits)。 4)處理混合數據類型時,使用map(str,mixed_list)確保所有元素可轉換為字符串。 5)對於大型列表,使用''.join(large_li

pythonuseshybridapprace,ComminingCompilationTobyTecoDeAndInterpretation.1)codeiscompiledtoplatform-Indepententbybytecode.2)bytecodeisisterpretedbybythepbybythepythonvirtualmachine,增強效率和通用性。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Dreamweaver Mac版
視覺化網頁開發工具