Как аутентифицировать пользователя с помощью таблицы Custom user с телефоном в качестве имени пользователя в Django
Я использую пользовательский пользователь в моем django приложении и он работает нормально, когда я создаю пользователя, но проблема возникает, когда я пытаюсь аутентифицировать пользователя, используя phone
как username
он просто не работает.
вот мой код :
@api_view(['POST'])
@permission_classes([AllowAny])
def login_view(request):
"""
function that used to do user login
"""
if request.method == 'POST':
lang = request.META.get('HTTP_LANG', 'ar')
phone = request.data['phone']
password = request.data['password']
firebase_token = request.data['firebase_token']
# user = CustomUser.objects.filter(phone=phone, password=password)
user = authenticate(phone=phone, password=password)
print(f"qwdwqdwqdwqdwqdqw {phone} qwdwqdwqdqwd") #prints the right phone
print(f"qwdwqdwqdwqdwqdqw {password} qwdwqdwqdqwd")# prints the right password
print(f"qwdwqdwqdwqdwqdqw {user} qwdwqdwqdqwd") # always gives None
if user is not None:
user.firebase_token = firebase_token
user.save()
Token.objects.filter(user=user).delete()
token = Token.objects.create(user=user)
add_device_to_one_signal(user.firebase_token, user.id, True if user.user_type == "supplier" else False)
return Response(generate_json(True, CustomUserSerializer(user).data,
"تم تسجيل الدخول بنجاح" if lang == "ar" else "Login Successfully"),
status=200)
return Response(generate_json(False, {}, "خطأ في البيانات" if lang == "ar" else "Invalid Data"), status=400)