You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
DeltaX/backend/app/views.py

29 lines
1.2 KiB

6 months ago
from rest_framework import status
from rest_framework.decorators import api_view
from rest_framework.response import Response
from .models import ExampleModel
from django.contrib.auth import authenticate
from .serializers import LoginSerializer
from .serializers import ExampleModelSerializer
@api_view(['POST'])
def create_example(request):
if request.method == 'POST':
serializer = ExampleModelSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
@api_view(['POST'])
def login_view(request):
serializer = LoginSerializer(data=request.data)
if serializer.is_valid():
username = serializer.data['username']
password = serializer.data['password']
user = authenticate(username=username, password=password)
if user is not None:
return Response({"message": "Login successful"}, status=status.HTTP_200_OK)
else:
return Response({"error": "Invalid credentials"}, status=status.HTTP_400_BAD_REQUEST)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)