Я не могу заставить пользователя создать сессию в Django, используя пользовательский логин

Я делаю CRUD в Django, я создаю пользовательский класс Login, я сделал форму на основе AuthenticationForm, и для моего представления "class Login", у меня возникает ошибка при вызове функции login и попытке присвоить "user", чтобы django создал сессию. Я пытаюсь вытащить его из формы, но получаю ошибку:

У объекта 'WSGIRequest' нет атрибута 'form'

Я пытался получить "пользователя" без успеха

#There is forms.py
from django.contrib.auth.forms import AuthenticationForm

class FormularioLogin(AuthenticationForm): 
    def init(self, *args, **kwargs): 
        super().init(*args,**kwargs) 
        self.fields['username'].widget.attrs['class']= 'form-control'
        self.fields['username'].widget.attrs['placeholder']= 'Username' 
        self.fields['password'].widget.attrs['class']= 'form-control' 
        self.fields['password'].widget.attrs['placeholder']= 'Password'
      

Существует views.py

from django.shortcuts import render from django.http import HttpResponseRedirect
from django.views.generic.edit import FormView from django.urls import reverse_lazy 
from django.utils.decorators import method_decorator 
from django.views.decorators.cache import never_cache 
from django.views.decorators.csrf import csrf_protect 
from django.contrib.auth import login 
from .forms import FormularioLogin

class Login(FormView): 
    template_name = 'login.html' 
    form_class = FormularioLogin 
    success_url = reverse_lazy('index')

    @method_decorator(csrf_protect)
    @method_decorator(never_cache)
    def dispatch(self, request, *args, **kwargs):
        if request.user.is_authenticated:
            return HttpResponseRedirect(self.get_success_url())
        else: 
             return super().dispatch(request, *args, **kwargs)
    
    
    def form_valid(self, form):               
        login(self.request.form.get_user()) # --- Here is the problem ---
        return super().form_valid(form)
Вернуться на верх