skip to navigation
skip to content

Not Logged In

django-authtools 1.2.0

Custom user model app for Django featuring email as username and class-based views for authentication.


.. image::
:alt: Build Status

A custom user model app for Django 1.5+ that features email as username and
other things. It tries to stay true to the built-in user model for the most

The main differences between authtools's User and django.contrib.auth's are
email as username and class-based auth views.

Read the `django-authtools documentation
<https:"" en="" latest=""/>`_.


Before you use this, you should probably read the documentation about `custom
User models
<https:"" en="" dev="" topics="" auth="" customizing="" #substituting-a-custom-user-model="">`_.

1. Install the package::

$ pip install django-authtools

2. Add ``authtools`` to your ``INSTALLED_APPS``.

3. Add the following to your

AUTH_USER_MODEL = 'authtools.User'

4. Add ``authtools.urls`` to your URL patterns::

urlpatterns = patterns('',
# ...
url(r'^accounts/', include('authtools.urls')),
# ...

5. Enjoy.


1.2.0 (2015-04-02)

- Nothing changed yet.

1.1.0 (2015-02-24)

- PasswordChangeView now handles a ``next`` URL parameter (#24)

1.0.0 (released August 16, 2014)

- Add friendly_password_reset view and FriendlyPasswordResetForm (Antoine Catton, #18)
- **Bugfix** Allow LOGIN_REDIRECT_URL to be unicode (Alan Johnson, Gavin Wahl, Rocky Meza, #13)
- **Backwards Incompatible** Dropped support for Python 3.2

0.2.2 (released July 21, 2014)

- Update safe urls in tests
- Give the ability to restrain which users can reset their password
- Add send_mail to AbstractEmailUser. (Jorge C. Leitão)


- Bugfix: UserAdmin was expecting a User with a `name` field.


- Django 1.6 support.

Django 1.6 `broke backwards compatibility
<https:"" en="" dev="" releases="" 1.6="" #django-contrib-auth-password-reset-uses-base-64-encoding-of-user-pk="">`_
of the ``password_reset_confirm`` view. Be sure to update any references to
this URL. Rather than using a separate view for each encoding, authtools uses
:class:`a single view <authtools.views.passwordresetconfirmview>` that works
with both.

- Bugfix: if LOGIN_URL was a URL name, it wasn't being reversed in the

0.1.2 (released July 01, 2013)

- Use ``prefetch_related`` in the :class:`~authtools.forms.UserChangeForm`
to avoid doing hundreds of ``ContentType`` queries. The form from
Django has the same feature, it wasn't copied over correctly in our
original form.

0.1.1 (released May 30, 2013)

* some bugfixes:

- Call :meth:`UserManager.normalize_email` on an instance, not a class.
- :class:`~authtools.models.User` should inherit its parent's ``Meta``.

0.1.0 (released May 28, 2013)

- django-authtools  
File Type Py Version Uploaded on Size
django-authtools-1.2.0.tar.gz (md5) Source 2015-04-02 34KB
  • Downloads (All Versions):
  • 45 downloads in the last day
  • 531 downloads in the last week
  • 2579 downloads in the last month