
sample_app/models.py 파일에서 데이터 모델 정의하기:from django.db import models
class Sample(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
python manage.py makemigrations sample_app
python manage.py migrate
sample_app/views.py 파일에서 CRUD 함수를 생성합니다:from django.shortcuts import render, redirect
from .models import Sample
def create(request):
if request.method == "POST":
title = request.POST['title']
content = request.POST['content']
sample = Sample(title=title, content=content)
sample.save()
return redirect('/read')
else:
return render(request, 'create.html')
def read(request):
samples = Sample.objects.all()
return render(request, 'read.html', {'samples': samples})
def update(request, id):
sample = Sample.objects.get(id=id)
if request.method == "POST":
sample.title = request.POST['title']
sample.content = request.POST['content']
sample.save()
return redirect('/read')
else:
return render(request, 'update.html', {'sample': sample})
def delete(request, id):
sample = Sample.objects.get(id=id)
sample.delete()
return redirect('/read')
sample_app/urls.py 파일을 생성하고 아래와 같이 작성합니다:from django.urls import path
from . import views
urlpatterns = [
path('create/', views.create, name='create'),
path('read/', views.read, name='read'),
path('update/<int:id>', views.update, name='update'),
path('delete/<int:id>', views.delete, name='delete'),
]
sample_project/urls.py 파일에 sample_app/urls.py를 포함시킵니다:from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('sample_app.urls')),
]
이렇게 하면 간단한 Django CRUD 애플리케이션을 생성할 수 있습니다. 다만, 실제로 애플리케이션을 작동시키려면 각 View에서 사용된 HTML 템플릿 파일(create.html, read.html, update.html)들을 sample_app/templates 폴더 안에 생성하고 적절하게 작성해주셔야 합니다.