AttributeError at /users/login/ 'Form' object has no attribute 'email'
Я создаю API для login_view, но у меня возникла проблема с формой. Я использую Django-ninja, поэтому я создал serializers.py и имею
`class LoginInput(Schema):`
`email: str`
`password: str`
`from django.shortcuts import get_object_or_404`
`from ninja import NinjaAPI, Query, Form`
`from ninja.responses import Response`
`from main.models import Category, City, DeliveryPoint, Product, Cart, CartItem`
`from user.models import User`
`from .serializers import *`
`from typing import List`
`from user.forms import UserLoginForm, UserRegistrationForm`
`from user.utils import generate_jwt_token, decode_jwt_token`
`from ninja.security import HttpBearer`
`from django.views.decorators.csrf import csrf_exempt`
`from django.contrib.auth import get_user_model`
`User = get_user_model()`
@api.post("/login/")
def login_api_view(request, login_data: LoginInput = Form(...)):
if request.method == "POST":
email = login_data.email
password = login_data.password
form = UserLoginForm(request, data={"username": email, "password": password})
print(form.errors)
if form.is_valid():
user = form.get_user()
if user is not None:
password = form.cleaned_data["password"]
if user.check_password(password):
token = generate_jwt_token(user)
return {"message": "User Signed In", "token": token}
return Response({"message": "Invalid credentials"}, status=400)
return Response({"message": "Invalid request method"}, status=405)
Я создаю front-end с NextJS. когда я перехожу к api/docs, я могу войти, аутентифицироваться и т.д., но на реальном сайте у меня проблема и я не могу войти. он говорит, что Form не имеет атрибута 'email'.
class UserLoginForm(AuthenticationForm):
class Meta:
model = User
fields = ['email', 'password']
ПОЖАЛУЙСТА, ПОМОГИТЕ МНЕ! SOS!