django
TIL230502 트러블 해결
베스트오버
2023. 5. 9. 23:51
버그 발생
TypeError: Field 'id' expected a number but got <django.contrib.auth.models.AnonymousUser object at 0x000001B87D5A83A0>.
과정
팀 프로젝트를 싱크 포크 후에 테스트를 하던 도중 5명이 위와 똑같은 오류가 떠서 왜 이 오류가 뜨는지 한참을 헤맸었다.
분명 싱크 포크 하기 전에는 각기 다 잘 되었는데...
그래서 5명이 포크 받기 전 원인을 각자 찾던 도중 나는 전 커밋을 찾아보니
아래와 같이 코드가 들어와 있었던 것이였다.
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework_simplejwt.authentication.JWTAuthentication',
)
}
REST_FRAMEWORK = {
# Use Django's standard `django.contrib.auth` permissions,
# or allow read-only access for unauthenticated users.
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.BasicAuthentication',
]
}
이 두 가지는 각기
토큰방식과 HTTP 요청 헤더에 사용자 이름과 비밀번호를 담아 보내어 인증하는 방식인데, 둘 다 설정이 되어 있어
아무리 토큰을 가지고 json을 보내도 권한이 없다고 뜨는 것이였다.
관련 내용은 아래와 같다.
원인
토큰 방식으로 하기로 협의하고
rest_framework_simplejwt.authentication.JWTAuthentication
로 작업하기로 하였는데
어떤 팀원분이
rest_framework.authentication.BasicAuthentication
를 실수로 넣으셨는데 Merge애서도 체크를 못한 일이였다.
해결
그래서
EST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework_simplejwt.authentication.JWTAuthentication',
)
}
로 변경 하니 잘 되었다.
오늘 한 일
장고 심화 팀 프로젝트
TIL230508
오늘 한 일 장고 심화 팀 프로젝트 발제 https://teamsparta.notion.site/230508-54a9c0ecbece4771843661c8ef4a669d [230508] 장고 심화 프로젝트 Intro: 백오피스 프로젝트 teamsparta.notion.site 필수 구현 기능 DRF 사용 프론
beolog.tistory.com