원인: views.py에서 newblog(새로운 글을쓰는 함수)를 잘 못 정의함.
에러 난 코드
#views.py 에러 난 코드
def newblog(request):
if request.method=='POST':
blog=BlogPost(request.POST)
if blog.is_valid():
blog.save(commit=False) #틀린 부분
blog.pub_date=timezone.now()
blog.save()
return redirect('home')
else:
blog=BlogPost()
return render(request, 'new.html', {'blog':blog}
수정한 코드
#views.py 수정한 코드
def newblog(request):
if request.method=='POST':
blog=BlogPost(request.POST)
if blog.is_valid():
post=blog.save(commit=False) #저장하지 말고 객체를 가져오셈
post.pub_date=timezone.now() #django.utils에서 timezone임포트
post.save()
redirect("home")
else:
blog=BlogPost()
return render(request, "new.html", {'blog':blog})
저장하지 말고 객체를 가져오는 부분
즉 post=blog.save(commit=False) 주의