풀 스택 개발을 배우는 가장 좋은 방법은 간단한 프론트-백/엔드 및 DB 연결을 통해 해당 언어로 CRUD 앱을 만드는 것이라고 생각합니다.
따라서 이 가이드에서는 Django를 사용하여 간단한 CRUD(생성, 읽기, 업데이트, 삭제) Todo 애플리케이션을 만드는 과정을 안내합니다. 프로젝트를 설정하고, 앱을 만들고, Django가 권장하는 디렉토리 구조로 모든 것을 정리하겠습니다.
시작하기 전에 다음 사항을 확인하세요.
django-admin startproject todo_project cd todo_project
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
INSTALLED_APPS = [ # Other installed apps '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
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')
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/<int:todo_id>/', views.update_todo, name='update_todo'), path('delete/<int:todo_id>/', views.delete_todo, name='delete_todo'), ]
기본 urls.py 파일에 앱의 URL을 포함합니다.
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('todo.urls')), ]
이제 todo 앱 내의 템플릿 디렉토리에 HTML 템플릿을 생성하세요. 다음 구조를 따르세요:
todo/ ├── migrations/ ├── templates/ │ └── todo/ │ ├── list_todos.html │ ├── create_todo.html │ └── update_todo.html ├── models.py ├── views.py └── ...
mkdir -p todo/templates/todo
작업 목록을 표시하고 작업을 추가, 편집, 삭제할 수 있는 링크를 제공합니다.
django-admin startproject todo_project cd todo_project
새 작업을 추가하기 위한 양식
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
이제 모든 설정이 완료되었으므로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!