Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixed #12113 -- Clarified is_active documentation. Thanks, ejucovy an…

…d isagalaev

git-svn-id: http://code.djangoproject.com/svn/django/trunk@12193 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 06645cbda783971287cdbfac67940c1982742bee 1 parent 31eb0fb
@adrianholovaty adrianholovaty authored
Showing with 14 additions and 8 deletions.
  1. +14 −8 docs/topics/auth.txt
View
22 docs/topics/auth.txt
@@ -97,14 +97,20 @@ Fields
.. attribute:: models.User.is_active
Boolean. Designates whether this user account should be considered
- active. Set this flag to ``False`` instead of deleting accounts.
-
- This doesn't control whether or not the user can log in. Nothing in the
- authentication path checks the ``is_active`` flag, so if you want to
- reject a login based on ``is_active`` being ``False``, it is up to you
- to check that in your own login view. However, permission checking
- using the methods like :meth:`~models.User.has_perm` does check this
- flag and will always return ``False`` for inactive users.
+ active. We recommend that you set this flag to ``False`` instead of
+ deleting accounts; that way, if your applications have any foreign keys
+ to users, the foreign keys won't break.
+
+ This doesn't necessarily control whether or not the user can log in.
+ Authentication backends aren't required to check for the ``is_active``
+ flag, so if you want to reject a login based on ``is_active`` being
+ ``False``, it's up to you to check that in your own login view.
+ However, the :class:`~django.contrib.auth.forms.AuthenticationForm`
+ used by the :func:`~django.contrib.auth.views.login` view *does*
+ perform this check, as do the permission-checking methods such as
+ :meth:`~models.User.has_perm` and the authentication in the Django
+ admin. All of those functions/methods will return ``False`` for
+ inactive users.
.. attribute:: models.User.is_superuser

0 comments on commit 06645cb

Please sign in to comment.
Something went wrong with that request. Please try again.