Alex Alves
Alex Alves

Reputation: 93

Django Allauth Error Using default_token_generator

I'm trying to generate a default token to send a reset password email but when the code runs default_token_generator.make_token(user) the user has no last_login property. What am I doing wrong here?

AttributeError at /devices/0/forgot 'QuerySet' object has no attribute 'last_login'

            user = User.objects.filter(email__iexact=email)
            if Provision.objects.get(device=device, user=user):
                # email_address = EmailAddress.objects.get_primary(user=user)
                token = default_token_generator.make_token(user) ...
                site = Site.objects.get_current()
                # send the password reset email
                path = reverse("account_reset_password_from_key", kwargs=dict(uidb36=int_to_base36(user.pk), key=token))
                url = '%s://%s%s' % (app_settings.DEFAULT_HTTP_PROTOCOL, site.domain, path)

Upvotes: 1

Views: 929

Answers (2)

rafalmp
rafalmp

Reputation: 4068

In user = User.objects.filter(email__iexact=email) - filter() returns QuerySet, make_token() expects User model instance. Try user = User.objects.get(email__iexact=email) instead.

Upvotes: 1

dmitryro
dmitryro

Reputation: 3506

In your MIDDLEWARE_CLASSES section provide

django.contrib.auth.middleware.AuthenticationMiddleware',

is listed, as this is what provides Django user with this property, so the resulting MIDDLEWARE_CLASSES is something like

MIDDLEWARE_CLASSES = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'django.contrib.redirects.middleware.RedirectFallbackMiddleware',
]

Upvotes: 0

Related Questions