Почему у объекта 'function' не отображается атрибут 'user'?

я попытался создать 2 пользователей в моем проекте

models.py

class CustomUser(AbstractUser):
    user_type_choices = ((1, "Admin"), (2, "NotesUser"))
    user_type = models.CharField(max_length=10, choices=user_type_choices, default=1)

class Admin(models.Model):
    user_id = models.OneToOneField(CustomUser, on_delete=models.CASCADE)

class NotesUser(models.Model):
    user_id = models.OneToOneField(CustomUser, on_delete=models.CASCADE)

@receiver(post_save, sender=CustomUser)
def create_user_profile(sender, created, instance, **kwargs):
    if created:
        if instance.user_type == 1:
            Admin.objects.create(user_id=instance)
        if instance.user_type == 2:
            NotesUser.objects.create(user_id=instance)

@receiver(post_save, sender=CustomUser)
def save_user_profile(sender, instance, **kwargs):
    if instance.user_type == 1:
        instance.admin.save()
    if instance.user_type == 2:
        instance.notesuser.save()

и я написал это промежуточное ПО для проверки доступа пользователей

LoginCheckMiddleWare.py

from django.utils.deprecation import MiddlewareMixin
from django.urls import reverse
from django.http import HttpResponseRedirect, HttpResponse

class LoginCheckMiddleWare(MiddlewareMixin):
    def process_view(self, view_func, request, view_args, view_kwargs):
        modulename=view_func.__module__
        user = request.user
        if user.is_authenticated:
            if user.user_type == "1":
                if modulename == "todo_app.views" or modulename == "todo_app.AdminViews":
                    pass
                else:
                    return HttpResponseRedirect(reverse("admin_home"))
            elif user.user_type == "2":
                if modulename == "todo_app.UserViews" or modulename == "todo_app.views":
                    pass
                else:
                    return HttpResponseRedirect(reverse("user_home"))
            else:
                pass
                #return HttpResponseRedirect(reverse("log_in"))
        else:
            if request.path == reverse("log_in") or request.path == reverse("login_save") or modulename == "django.contrib.auth.views" or modulename == "todo_app.views":
                pass
            else:
                return HttpResponseRedirect(reverse("log_in"))

я упомянул промежуточное ПО, которое я создал в app, в файле settings.py

settings.py

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'todo_app.LoginCheckMiddleWare.LoginCheckMiddleWare',

]

но при попытке зайти на страницу входа в систему появляется ошибка

'function' object has no attribute 'user'

this is the error what's showing

может ли кто-нибудь помочь мне?

Согласно документации первым параметром представления процесса является объект запроса, пожалуйста, измените функцию следующим образом:

def process_view(self, request, view_func, view_args, view_kwargs)
Вернуться на верх