티스토리 뷰
get_list_or_404 or get_object_or_404?
쿼리셋(오브젝트의 리스트) 일때는 전자를, 하나의 오브젝트일때는 후자를 사용한다.
authorized error 1 => @permission_classes([AllowAny])
인증 관련 에러의 경우, vue와 연동하면서 로그인 토큰을 아직 받아오지 못하였거나 혹은 AllowAny 설정이 되어있지 않아서 장고가 막아버리는 경우이다. 테스트를 위해 @permission_classes([AllowAny]) 를 설정해야 view 함수를 실행할 수 있다.
authorized error 2 => token 받기 전과 후를 구분할 것
vue가 아직 로그인정보를 제공해주고 있지 않다면, 백엔드에서는 postman으로 주소를 요청할 때, user정보를 넣어서 보내야 한다.
이때 받아오는 데이터는 request.data['user']이며 User = get_user_model() 로 불러와 해당 유저를 콕 집어서 이용해야 한다.
반면 token을 받아온 후에는 postman으로 주소를 요청할 때 user 정보가 들어가서는 안되며, 유저는 자동적으로 request.user로 불러와진다. 이 점을 꼭 기억하자!
RuntimeWarning: DateTimeField received a naive datetime
에러 : RuntimeWarning: DateTimeField received a naive datetime
원인 : datatime 필드에서 .now() 사용시 settings.py의 timezone과 datetime.now()의 timezone이 다르기 때문에 오류가 발생
해결방안 1 : settings.py의 USE_TZ = True 값을 False로 변경하여 local 시간대로 사용
해결방안 2 : 필요한건 시간이 아닌 Date이기 때문에 DateTimeField() 를 DateField() 로 변경
참고
https://velog.io/@inyong_pang/Django-RuntimeWarning-DateTimeField-received-a-naive-datetime
'Django Framework' 카테고리의 다른 글
Django custom tags & builtin tags (0) | 2021.11.30 |
---|---|
filter와 get의 차이 (0) | 2021.11.30 |
loaddata와 dumpdata, API 여러페이지 받기, 한글 인코딩 처리 (0) | 2021.11.28 |
MyMovieTaste, Mamoo 같은 취향 영화추천 사이트 (0) | 2021.11.28 |
프로젝트 후기 - BackEnd (0) | 2021.11.28 |
- Total
- Today
- Yesterday
- SSAFY
- 디즈니얼굴
- 개발자로드맵
- 폰트
- 브왈라
- 클린코드
- intj여자
- ssafy합격후기
- 개발자
- ssafy결과
- 개발자책추천
- ssafy6기
- ssafy후기
- 싸피6기
- 깃허브계정2개
- 깃허브계정
- 임대차3법
- 개발자커리
- 무료폰트추천
- 싸피
- 맥과윈도우로깃허브
- 개발언어순위
- 한글무료폰트추천
- 클린코더
- 상업용무료폰트
- 폰트추천
- 개발언어추천
- 개발자도서추천
- 개발도서추천
- 코딩도서
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |