기존 new + 기존 create를 해서 새로 create 하나 만들기
# articles > templates > articles > views.py
더보기
from django.shortcuts import render, redirect
from .models import Article
from . forms import ArticleForm
def index(request):
articles = Article.objects.all()
context = {
'articles': articles,
}
return render(request, 'articles/index.html', context)
def detail(request, pk):
article = Article.objects.get(pk=pk)
context = {
'article': article,
}
return render(request, 'articles/detail.html', context)
# 새로 만든 create
def create(request):
if request.method == 'POST':
form = ArticleForm(request.POST)
if form.is_valid():
article = form.save()
return redirect('articles:detail', article.pk)
else: # POST가 아닌 다른 모든 경우
form = ArticleForm()
context = {
'form': form,
}
return render(request, 'articles/create.html', context)
def delete(request, pk):
article = Article.objects.get(pk=pk)
article.delete()
return redirect('articles:index')
def edit(request, pk):
article = Article.objects.get(pk=pk)
form = ArticleForm(instance=article)
context = {
'article': article,
'form': form,
}
return render(request, 'articles/edit.html', context)
def update(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('articles:detail', article.pk)
else:
form = ArticleForm(instance=article)
context = {
'form': form,
'article': article,
}
return render(request, 'articles/update.html', context)
'WEB > Django prac' 카테고리의 다른 글
[Django prac][Form] 10. update (0) | 2024.03.29 |
---|---|
[Django prac][Form] 9. Update , Edit 함수의 의미 (0) | 2024.03.28 |
[Django prac][Form] 7. 유효성 검사 (0) | 2024.03.28 |
[Django prac][Form] 6. 유효성 검사 (0) | 2024.03.28 |
[Django prac][Form] 5. 유효성 검사 (0) | 2024.03.28 |