def patch(self, request): serializer = ChangePasswordSerializer(data=request.data) if serializer.is_valid(): user = User.objects.get(username=request.user) random_number = request.data.get('random_number') change_password_token = request.data.get('change_password_token') password = serializer.validated_data['password'] print(change_password_token) if passwod_change_token.check_token(user, change_password_token, random_number): user.set_password(password) user.save() data = {'detail': '비밀번호가 변경되었습니다.'} return Response(data, status.HTTP_200_OK) else: data = {'detail': '인증번호가 일치하지 않습니다.'} return Response(data, status=status.HTTP_400_BAD_REQUEST) else: return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def user_phone_number_change(request, uidb64, token, phone_number): random_number = request.POST.get('send_number') try: uid = force_text(urlsafe_base64_decode(uidb64.encode('utf-8'))) phone_number = force_text( urlsafe_base64_decode(phone_number.encode('utf-8'))) user = User.objects.get(pk=uid) except (TypeError.ValueError, OverflowError, User.DoesNotExist): user = None try: if user is not None and passwod_change_token.check_token( user, token, random_number): user.phone_number = phone_number user.save() return render(request, 'members/user_info_change_succeed_page.html') else: return render(request, 'members/user_info_change_fail_page.html') except Exception as e: print(traceback.format_exc())
def patch(self, request): serializer = ChangeEmailSerializer(data=request.data) if serializer.is_valid(): user = User.objects.get(username=request.user) random_number = request.data.get('random_number') change_email_token = request.data.get('change_email_token') email = serializer.validated_data['email'] if passwod_change_token.check_token(user, change_email_token, random_number): user.email = email user.save() data = {'detail': '이메일이 변경되었습니다.'} return Response(data, status.HTTP_200_OK) else: data = {'detail': '인증번호가 일치하지 않습니다.'} return Response(data, status=status.HTTP_400_BAD_REQUEST) else: return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)