728x90
python에서 get_objects_or_404 로 데이터를 받아온 경우,
해당하는 데이터가 없으면 404페이지가 떠버립니다.
이 경우 실행할 내용을 지정하기 위해 처리해보겠습니다 ^0^
기본 get_list_or_404 를 사용해 아래처럼 코드를 사용했을 때, 해당하는 데이터가 없으면 아래처럼 에러가 뜹니다.
dietlist = get_list_or_404(테이블이름, user_id=idx, date=date)
그런데 만약 데이터가 종종 없다면?
데이터가 없는 게 비정상적인 일이 아니라면 추가로 실행할 내용을 지정해 줘야 합니다.
이 경우 get_objects_or_404 를 사용하게 되면 추가 실행 내용을 지정해줄 수 없어요.
대신 아래처럼 변경해주면 됩니다.
dietlist = 테이블.objects.filter(user_id=idx, date=date) #괄호 안의 내용은 필터를 걸 조건
#별도로 필터가 필요 없는 경우 괄호 안은 공란 가능
if dietlist.exists(): # 정보가 있을 경우
실행할 내용 지정
else : # 정보가 없을 경우
실행할 내용 지정
저는 else구문으로 들어왔을 경우 html 경로를 찾아가도록 설정해줬습니다.
뾰롱. 같은 페이지인데 지정한 html이 정상적으로 출력되는 모습을 확인할 수 있습니다.
데이터가 있을 경우에는
위 화면처럼 처리한 데이터를 기반으로 화면을 표시하게 됩니다.
오늘은 여기까지!
728x90
'Python > Django' 카테고리의 다른 글
django 서버 돌리는 법 (0) | 2022.05.26 |
---|---|
django 실행 시 에러 해결(did you install mysqlclient?) (0) | 2022.05.18 |
[django] 입력값과 일치하는 것들에 수식 넣기 (0) | 2022.05.10 |
[django] form 입력값을 sql에 저장하기 (0) | 2022.05.09 |
[django] 장고에서 return 지정하기 (1) | 2022.05.04 |
댓글