Это довольно просто, следующие шаги:
Сначала создайте класс сериализатора UserLoginSerializer в файле сериализатора и включите в него следующие коды
class UserLoginSerializer(serializers.ModelSerializer):
class Meta:
model = Account
fields = ('id', 'username','title','email')
Во-вторых, создайте класс в представлениях и включите следующие коды
class Login(APIView):
permission_classes = (AllowAny,)
def post(self,request):
email = request.data.get('email',None)
password = request.data.get('password',None)
if email and password:
user_obj = Account.objects.filter(email__iexact=email)
if user.exists() and user.first().check_password(password):
user = UserLoginSerializer(user_obj)
data_list = {}
data_list.update(user.data)
return Response({"message": "Login Successfully", "data":data_list, "code": 200})
else:
message = "Unable to login with given credentials"
return Response({"message": message , "code": 500, 'data': {}} )
else:
message = "Invalid login details."
return Response({"message": message , "code": 500, 'data': {}})