티스토리 뷰
반응형
article = Article.objects.get(pk=pk)
에서 get의 의미는 단 하나만 가능하다는 뜻이다.
값이 없는 경우 ERROR => 100이라는 pk값이 들어왔을 때, DB에 100이 없으면 ERROR가 뜬다.
값이 여러개인 경우 ERROR
즉, DB에 있는 단 하나의 값이 들어와야 에러가 안뜬다.
위방식의 문제점과 사용이유
100이라는 pk 값이 들어오는 경우에
500오류라고 개발자 오류라고 ERROR가 발생한다.
하지만 사용자가 없어서 100번째 글이 아직 안 적혀서 뜨는거지 나의 잘못이라고 할 수 없다.
즉, url이 없어서 그런거다. 개발자 잘못이 아니라는 점을 표현하고 싶어서 get_object_or_404를 쓴다.
쓰는법
+ DJango shortcut functions 공식문서 참고
from django.shortcuts import render, redirect, get_object_or_404
article = get_object_or_404(Article, pk=pk)
object를 가져오거나 404를 가져오겠다는 말이다. 즉, 없는 url를 보낸 경우를 알 수 있다.
왼쪽 pk - 함수 호출 시 이 키워드 인자로 넘기겠다는 말이다
오른쪽 pk - views의 def detail(request, pk)의 pk이다
반응형
'Web > Django' 카테고리의 다른 글
[Django] 분기 (31) | 2020.07.24 |
---|---|
[Django] admin.py (0) | 2020.07.22 |
[Django]forms.html (create.html+update.html) (0) | 2020.07.22 |
[Django] API (108) | 2020.07.20 |
[Django] CRUD_DELETE (0) | 2020.07.16 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- typescript
- error:0308010C:digital envelope routines::unsupported
- 클라우데라
- pandas
- Python
- useState
- Queue
- 자료구조
- django
- NextJS
- useHistory 안됨
- react autoFocus
- TensorFlow
- login
- Deque
- UserCreationForm
- JavaScript
- next.config.js
- nextjs autoFocus
- logout
- Express
- 자연어처리
- vuejs
- react
- DFS
- BFS
- read_csv
- Vue
- mongoDB
- nodejs
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함