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.
29 lines
1.2 KiB
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)
|