Django Axes works, but doesn't store Access attempts nor failures

I apologize in advance, I am new to all of this (Stack, Django and Axes).

I am creating a simple website where you can create users, and I implemented django axes. It works in a sense that it locks you out after failed attempts based on username and IP. It even logs them in Admin panel under Axes' own "Access logs". But the "Access attempts" and "Access failures" are empty. Below is my users/views.py code and under it is users/urls.py:

@axes_dispatch
def login(request):
    if request.user.is_authenticated:
        return redirect('home')

    if request.method == 'POST':
        form = UserLoginForm(request, data=request.POST)
        
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            user = authenticate(request, username=username, password=password)

            if user is not None:
                auth_login(request, user)
                messages.success(request, f'Welcome back, {username}!')
                return redirect('home')  # successful login redirect
            else:
                # signal for failed attempt
                signals.user_login_failed.send(
                    sender=user.__class__,
                    request=request,
                    credentials={'username': username}
                )
                messages.error(request, 'Invalid username or password.')

        else:
            # signal for invalid
            signals.user_login_failed.send(
                sender=None,
                request=request,
                credentials={'username': request.POST.get('username')}
            )
            messages.error(request, 'Invalid username or password.')

    else:
        form = UserLoginForm()

    return render(request, 'users/login.html', {'form': form})

Here is the users urls.py:

    urlpatterns = [
    path('login/', views.login, name='login'),
    path('logout/', views.logout, name='logout'),
    path('register/', views.register, name='register'),
    path('change_profile/', views.profile, name='change_profile'),
    path('change_password/', views.change_password, name='change_password'),
    path('lockout/', views.lockout, name='lockout'),
]

Here is everything in settings.py that contains Axes:

        INSTALLED_APPS = [

        'axes',
    
    ]


    MIDDLEWARE = [

    'axes.middleware.AxesMiddleware', #Axes
    
    ]


    AUTHENTICATION_BACKENDS = [
    #Axe has to be first
    'axes.backends.AxesStandaloneBackend',


    'django.contrib.auth.backends.ModelBackend',
]


AXES_FAILURE_LIMIT = 5
AXES_COOLOFF_TIME = timedelta(minutes=5)
AXES_RESET_ON_SUCCESS = True
AXES_LOCKOUT_CALLABLE = 'users.signals.custom_lockout_response'
AXES_LOCKOUT_PARAMETERS = ['username', 'ip_address']
AXES_LOCKOUT_URL = '/lockout/'
Back to Top