본문 바로가기

매일 TIL

[내일배움캠프 14-3일] 이메일 인증, 비밀번호 확인

비밀번호 확인

class SignupView(APIView):
    def post(self, request):
        # 유효성 검사
        is_valid, err_msg = validate_signup(request.data)
        if not is_valid:
            return Response({"error": err_msg}, status=400)

        # 비밀번호와 비밀번호 확인
        password = request.data.get("password")
        password_confirm = request.data.get("password_confirm")

        if password != password_confirm:
            return Response({"error": "비밀번호가 일치하지 않습니다."}, status=400)

        # 회원 정보 입력받기
        username = request.data.get("username")
        email = request.data.get("email")
        profile_image = request.FILES.get("profile_image")

        # 유저 생성
        user = User.objects.create_user(
            username=username,
            password=password,
            email=email,
            profile_image=profile_image
        )

        # 유저 직렬화 및 응답
        serializer = UserSerializer(user)
        return Response(serializer.data)

password_confirm은 클라이언트 측에서 사용하는 필드이므로
모델을 건드릴 필요 없이 사용자의 비밀번호와 같은지 비교하는 용도로만 사용한다.

view에서 바로 사용하면 됨.