상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
설탕의 과다 섭취가 소화에 미치는 영향은 무엇인가요?
스테비아를 사용한 요거트 레시피는 무엇이 있나요?
시추의 지속 가능성은 어떻게 보장하나요?
시추와 관련된 기술적 혁신의 사례는 어떤 것이 있나요?
글리세롤을 이용한 화장품의 장점은 무엇인가요?
루아의 `pcall` 함수는 무엇을 하나요?
루아에서 `math.ceil` 함수는 어떻게 작동하나요?
질산의 분자 구조는 어떻게 되나요?
나이트로글리세린의 사용이 금기인 경우는 어떤 경우인가요?
나이트로글리세린의 역사적 발견자는 누구인가요?
아스파탐의 화학 구조는 어떻게 되나요?
아스파탐이 포함된 음료의 소비가 증가하는 이유는 무엇인가요?
Previous
Next
수정하기 - 파이썬 장고에서 CRUD(Create, Read, Update, Delete) 기능을 구현하는 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
파이썬 Django에서 CRUD(Create, Read, Update, Delete) 기능을 구현하는 방법에 대해 설명하겠습니다. Django는 강력한 웹 프레임워크로, 데이터베이스와의 상호작용을 쉽게 처리할 수 있도록 도와줍니다. 아래는 Django에서 CRUD 기능을 구현하는 기본적인 단계입니다. 1. Django 프로젝트 및 앱 생성먼저 Django 프로젝트와 앱을 생성합니다.```bashdjango-admin startproject myprojectcd myprojectpython manage.py startapp myapp``` 2. 모델 정의`myapp/models.py` 파일에서 데이터베이스 모델을 정의합니다. 예를 들어, 간단한 `Article` 모델을 만들어 보겠습니다.```pythonfrom django.db import modelsclass Article(models.Model): title = models.CharField(max_length=100) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) def __str__(self): return self.title``` 3. 데이터베이스 마이그레이션모델을 정의한 후, 데이터베이스에 반영하기 위해 마이그레이션을 수행합니다.```bashpython manage.py makemigrationspython manage.py migrate``` 4. CRUD 기능 구현 # Create (생성)`myapp/views.py`에 새로운 기사를 생성하는 뷰를 추가합니다.```pythonfrom django.shortcuts import render, redirectfrom .models import Articlefrom .forms import ArticleFormdef create_article(request): if request.method == "POST": form = ArticleForm(request.POST) if form.is_valid(): form.save() return redirect('article_list') else: form = ArticleForm() return render(request, 'create_article.html', {'form': form})``` # Read (읽기)모든 기사를 읽어오는 뷰를 추가합니다.```pythondef article_list(request): articles = Article.objects.all() return render(request, 'article_list.html', {'articles': articles})``` # Update (수정)기사를 수정하는 뷰를 추가합니다.```pythondef update_article(request, pk): article = Article.objects.get(pk=pk) if request.method == "POST": form = ArticleForm(request.POST, instance=article) if form.is_valid(): form.save() return redirect('article_list') else: form = ArticleForm(instance=article) return render(request, 'update_article.html', {'form': form})``` # Delete (삭제)기사를 삭제하는 뷰를 추가합니다.```pythondef delete_article(request, pk): article = Article.objects.get(pk=pk) if request.method == "POST": article.delete() return redirect('article_list') return render(request, 'delete_article.html', {'article': article})``` 5. URL 설정`myapp/urls.py` 파일을 생성하고, CRUD 뷰에 대한 URL을 설정합니다.```pythonfrom django.urls import pathfrom .views import create_article, article_list, update_article, delete_articleurlpatterns = [ path('', article_list, name='article_list'), path('create/', create_article, name='create_article'), path('update/<int:pk>/', update_article, name='update_article'), path('delete/<int:pk>/', delete_article, name='delete_article'),]```그리고 `myproject/urls.py`에서 `myapp`의 URL을 포함시킵니다.```pythonfrom django.contrib import adminfrom django.urls import path, includeurlpatterns = [ path('admin/', admin.site.urls), path('', include('myapp.urls')),]``` 6. 폼 생성`myapp/forms.py` 파일을 생성하고, 모델 폼을 정의합니다.```pythonfrom django import formsfrom .models import Articleclass ArticleForm(forms.ModelForm): class Meta: model = Article fields = ['title', 'content']``` 7. 템플릿 생성템플릿 파일을 생성하여 각 뷰에 대한 HTML을 작성합니다. 예를 들어, `create_article.html`, `article_list.html`, `update_article.html`, `delete_article.html` 파일을 생성합니다. # `article_list.html````html<h1>Articles</h1><a href="{% url 'create_article' %}">Create New Article</a><ul> {% for article in articles %} <li> {{ article.title }} - <a href="{% url 'update_article' article.pk %}">Edit</a> - <a href="{% url 'delete_article' article.pk %}">Delete</a> </li> {% endfor %}</ul>``` # `create_article.html````html<h1>Create Article</h1><form method="POST"> {% csrf_token %} {{ form.as_p }} <button type="submit">Save</button></form>``` # `update_article.html````html<h1>Update Article</h1><form method="POST"> {% csrf_token %} {{ form.as_p }} <button type="submit">Update</button></form>``` # `delete_article.html````html<h1>Delete Article</h1><p>Are you sure you want to delete "{{ article.title }}"?</p><form method="POST"> {% csrf_token %} <button type="submit">Yes, delete</button></form><a href="{% url 'article_list' %}">Cancel</a>``` 8. 서버 실행모든 설정이 완료되면 서버를 실행하여 CRUD 기능을 테스트합니다.```bashpython manage.py runserver```이제 웹 브라우저에서 `http://127.0.0.1:8000/`에 접속하여 CRUD 기능을 사용할 수 있습니다. 결론이렇게 Django에서 CRUD(Create, Read, Update, Delete) 기능을 구현하는 기본적인 방법을 알아보았습니다. 이 예제는 간단한 형태이지만, 실제 애플리케이션에서는 사용자 인증, 권한 관리, 에러 처리 등 다양한 기능을 추가하여 더욱 발전시킬 수 있습니다. Django의 강력한 기능을 활용하여 여러분의 웹 애플리케이션을 만들어 보세요!
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기