Here's what you need to do. Check out https://docs.djangoproject.com/en/1.8/_modules/django/contrib/auth/forms/
class PasswordResetForm has a method get_users:
def get_users(self, email):
"""Given an email, return matching user(s) who should receive a reset.
This allows subclasses to more easily customize the default policies
that prevent inactive users and users with unusable passwords from
resetting their password.
"""
active_users = get_user_model()._default_manager.filter(
email__iexact=email, is_active=True)
return (u for u in active_users if u.has_usable_password())
Override this method with this function:
def get_users(self, email):
"""Given an email, return matching user(s) who should receive a reset.
This allows subclasses to more easily customize the default policies
that prevent inactive users and users with unusable passwords from
resetting their password.
"""
active_users = get_user_model()._default_manager.filter(
email__iexact=email, is_active=True)
return active_users
To do this, you would build a custom form and override this method.
class PasswordResetFormAllowNoPassword(PasswordResetForm):
def get_users(self, email):
active_users = get_user_model()._default_manager.filter(
email__iexact=email, is_active=True)
return active_users