Я новичок в Django
Git Репо
Я создавал API регистрации и входа, и я Я также создал API регистрации, и в этом нет ничего плохого, но я ничего не знал об API входа в систему, поэтому я получил ошибку, на мой взгляд, serializers.py , и есть небольшая ошибка в views.py , пожалуйста, сообщите мне об ошибке, чтобы я знал, где моя ошибка.
File "/Users/sierra/Courses/LoginAPI/form/serializers.py ", строка 14
, если Account.objects.filter (электронная почта = электронная почта, пароль = пароль) .exists ():
TabError: непоследовательное использование пробелов и пробелов в отступеBlockquote
serializers.py
from rest_framework import serializers
from form.models import Account
# from django.contrib.auth.models import User
class LoginSerializer(serializers.ModelSerializer):
class Meta:
model = Account
fields = ['email', 'password',]
extra_kwargs = {'password': {'write_only': True}}
if Account.objects.filter(email=email,password=password).exists() :
return True
return False
# def validate(self, data):
# password = data.get('password')
# email = data.get('email')
# def username_present(email,password):
class RegistrationSerializer(serializers.ModelSerializer):
password2 = serializers.CharField(style={'input_type': 'password'}, write_only=True)
class Meta:
model = Account
fields = ['email', 'username', 'password', 'password2']
extra_kwargs = {
'password': {'write_only': True},
}
def save(self):
account = Account(
email=self.validated_data['email'],
username=self.validated_data['username']
)
password = self.validated_data['password']
password2 = self.validated_data['password2']
if password != password2:
raise serializers.ValidationError({'password': 'Passwords must match.'})
account.set_password(password)
account.save()
return account
views.py
from django.shortcuts import render
from rest_framework import status
from rest_framework.response import Response
from rest_framework.decorators import api_view
from form.serializers import RegistrationSerializer
@api_view(['POST', ])
def registration_view(request):
if request.method == 'POST':
serializer = RegistrationSerializer(data=request.data)
data = {}
if serializer.is_valid():
account = serializer.save()
data['response'] = 'successfully registered new user.'
data['email'] = account.email
data['username'] = account.username
else:
data = serializer.errors
return Response(data)
@api_view(['POST,'])
def login_view(request):
if request.method == 'POST':
serializer = LoginSerializer(data=request.data)
data = {}
if serializer.is_valid():
date['response'] = 'User successfully Login'
else:
data['response'] = 'You have entered an invalid username or password'
return Response(data)