Feature and API deprecation cycle

The following features or APIs of django-registration are deprecated and scheduled to be removed in future releases. Please make a note of this and update your use of django-registration accordingly. When possible, deprecated features will emit a DeprecationWarning as an additional warning of pending removal.


Will be removed in: django-registration 3.0

This URLconf was provided in the earliest days of django-registration, when the model-based workflow was the only one provided. Sites using the model-based workflow should instead include() the URLconf registration.backends.model_activation.urls.


Will be removed in: django-registration 3.0

Once django-registration began supporting multiple workflows, the model-based workflow was moved to registration.backends.default. Later, it was renamed to registration.backends.model_activation, but a module was left in place at registration.backends.default for compatibility.

Sites using the model-based workflow should ensure all imports are from registration.backends.model_activation.


Will be removed in: django-registration 3.0

For convenience, each URLconf provided in django-registration also sets up URLs for the views in django.contrib.auth (login, logout, password change, and password reset). These URLs are identical – except for the names assigned to them – to those defined in django.contrib.auth.urls.

As of 3.0, registration.auth_urls will be removed, and django-registration will encourage users to instead include() the URLconf django.contrib.auth.urls at an appropriate location in their root URLconf.

Expired-account cleanup

Will be removed in: django-registration 3.0

The model-based workflow includes several pieces of code for deleting “expired” – registered but never activated – accounts. This was originally intended as a convenience, but several contentious bug reports have shown that it is less convenient and more prone to ambiguity than desired. As a result, this code will be removed in 3.0. This entails removing the following:

  • The expired() method
  • The delete_expired_users() method
  • The cleanupregistration management command, which invokes the delete_expired_users method.

Sites wishing to clean up expired accounts will need to implement a method for doing this which conforms to their needs and their interpretation of “expired”.