Django 오늘의 뻘짓
만약 Store모델에 데이터가 없는 경우
'스토어 정보가 없습니다'라는 에러메시지와 함께 Store 정보를 등록할 수 있는 Form 작성
*수정전
def mystore(request, pk):
#이미 스토어 정보가 있는경우 데이터 가져오기
try:
owner = BookStoreModel.objects.get(pk=pk)
#데이터가 없는 경우 예외처리 (에러 메시지)
except BookStoreModel.DoesNotExist:
return render(request, 'bookstore/mystore.html', {'error':'스토어정보가 없습니다'})
#스토어등록
if request.method == "POST":
print('mystore.views.post')
store_register = BookStoreModel.objects.create(
updated_at = datetime.date.today(),
created_at = datetime.date.today(),
store_name = request.POST['store_name'],
store_info = request.POST['store_info'],
store_img = request.POST['store_img'],
store_views = request.POST['store_views'],
user_id = pk,
)
return redirect('mystore', store_register.pk)
return render(request, 'bookstore/mystore.html', {'owner':owner})
근데 html에서 submmit 버튼을 누르는데 아무런 반응이 없는 것이다..!
데이터 등록도 안되고 에러메시지도 안뜨고...
if 문의 print가 출력 안되는거 보니 아예 실행이 안되는 듯?
Store에 데이터 없는 경우 except 문을 타고 그대로 함수실행이 종료 되기 때문이었따.
그래서 if문을 except 문 안에 넣어주니 데이터가 아주 잘 들어간다.
*수정후
def mystore(request, pk):
print('mystore.views')
print(pk)
try:
owner = BookStoreModel.objects.get(pk=pk)
except BookStoreModel.DoesNotExist:
#스토어등록
if request.method == "POST":
print('mystore.views.post')
store_register = BookStoreModel.objects.create(
updated_at = datetime.date.today(),
created_at = datetime.date.today(),
store_name = request.POST['store_name'],
store_info = request.POST['store_info'],
store_img = request.POST['store_img'],
store_views = request.POST['store_views'],
user_id = pk,
)
return redirect('mystore', store_register.pk)
return render(request, 'bookstore/mystore.html', {'error':'스토어정보가 없습니다'})
return render(request, 'bookstore/mystore.html', {'owner':owner})
매우 간단하게 썼는데 엄청 끙끙댔다는 오늘의 뻘짓 끗-❣
Author And Source
이 문제에 관하여(Django 오늘의 뻘짓), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@btd_bm_224/Django-오늘의-뻘짓저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)