class AuthenticationForm
A form for logging a user in.
Takes request as its first positional argument, which is stored on the form instance for use by sub-classes.
-
confirm_login_allowed(user) -
By default,
AuthenticationFormrejects users whoseis_activeflag is set toFalse. You may override this behavior with a custom policy to determine which users can log in. Do this with a custom form that subclassesAuthenticationFormand overrides theconfirm_login_allowed()method. This method should raise aValidationErrorif the given user may not log in.For example, to allow all users to log in regardless of “active” status:
from django.contrib.auth.forms import AuthenticationForm class AuthenticationFormWithInactiveUsersOkay(AuthenticationForm): def confirm_login_allowed(self, user): pass(In this case, you’ll also need to use an authentication backend that allows inactive users, such as as
AllowAllUsersModelBackend.)Or to allow only some active users to log in:
class PickyAuthenticationForm(AuthenticationForm): def confirm_login_allowed(self, user): if not user.is_active: raise forms.ValidationError( _("This account is inactive."), code='inactive', ) if user.username.startswith('b'): raise forms.ValidationError( _("Sorry, accounts starting with 'b' aren't welcome here."), code='no_b_users', )
Please login to continue.