Notice
Recent Posts
Recent Comments
코드 위의 하루 (A Day on the Code)
회원가입 구현 & 확인 과정 오류 모음집 본문
✅ Part 1. 비밀번호 해시 저장 문제
- 오류 상황: DB에 평문(plain text) 비밀번호가 그대로 저장됨
- 원인 분석: set_password() 메서드 누락
- 해결 방법:
def create(self, validated_data):
user = User(
email=validated_data['email'],
name=validated_data['name']
)
user.set_password(validated_data['password']) # 이 부분 중요!
user.save()
return user
✅ Part 2. 이메일 중복 회원가입 가능
- 오류 상황: 동일한 이메일로 여러 번 회원가입 가능
- 원인 분석: 모델에서 email 필드에 unique=True 설정 안됨
- 해결 방법:
class User(AbstractBaseUser):
email = models.EmailField(unique=True)
✅ Part 3. 회원가입 API 테스트 중 프론트와 연동 실패
- 상황: 프론트에서 POST 요청을 보내도 백엔드에 도달하지 않음
- 원인 분석: CORS 설정 또는 API 경로 오기
- 해결 방법:
- django-cors-headers 설치 및 설정
- urls.py에서 /signup/ 경로 확인
- 프론트에서 JSON 데이터 전송 형식 확인
✅ Part 4. 응답 메시지가 안 나옴 / 500 오류 발생
- 오류 메시지: Internal Server Error (500)
- 원인 분석: Serializer에서 유효성 검증 실패, 응답 처리 누락
- 해결 방법:
if serializer.is_valid():
serializer.save()
return Response({'message': '회원가입이 완료되었습니다.'}, status=201)
else:
return Response(serializer.errors, status=400)
✅ Part 5. 회원가입 성공은 했지만 DB에 안 보임
- 문제 상황: 성공 메시지는 나왔는데 DB에서 데이터가 안 보임
- 원인 분석: 마이그레이션이 되지 않았거나, 올바른 DB 테이블이 아님
- 해결 방법:
python manage.py showmigrations
python manage.py migrate
✅ Part 6. password 필드가 그대로 출력되는 문제
- 상황: 회원가입 이후 반환되는 응답 JSON에 비밀번호 포함됨
- 원인 분석: Serializer에서 write_only=True 누락
- 해결 방법:
class UserSerializer(serializers.ModelSerializer):
password = serializers.CharField(write_only=True)
✅ Part 7. 회원가입 잘 되었는지 확인하려다 pk 헷갈림
- 질문 내용: "pk는 뭐야?" / "password와 hashed는 따로 있는 거야?"
- 정리:
- pk는 primary key (기본키) 로, 일반적으로 id 컬럼
- password는 해시된 상태로 DB에 저장됨 (별도 필드 없음, 자동 암호화된 값)
✅ Part 8. Git에 파일 일부만 올라간 문제
- 상황: 팀원들과 협업 중, 내가 작성한 회원가입 코드 일부만 GitHub에 올라감
- 원인 분석: git add 누락, .gitignore 오작동
- 해결 방법:
git status # 누락 파일 확인
git add .
git commit -m "회원가입 기능 및 설정 파일 추가"
git push
'⚙️ 오류 해결 모음집' 카테고리의 다른 글
🐛 마이페이지 기능 구현 중 겪은 오류 해결 모음 (0) | 2025.05.25 |
---|---|
🧨로그인 기능 구현 중 오류 해결 모음집 (JWT + Django + Docker) (0) | 2025.05.17 |
🐳 Docker가 Engine Starting에서 멈췄을 때의 해결기 (WSL2 삽질 로그) (0) | 2025.05.17 |
Git으로 인한 파일 누락 & 오류 해결 모음집 (0) | 2025.05.12 |
데이터베이스 오류 해결 모음집 (0) | 2025.05.12 |