Legend:

It used to be set in the mod_python and wsgi handlers. You will need to add {{{"django.contrib.auth.middleware.AuthenticationMiddleware"}}} somewhere '''after''' {{{"django.contrib.sessions.middleware.SessionMiddleware"}}} in {{{MIDDLEWARE_CLASSES}}} in your settings.py file. Otherwise accessing {{{request.user}}} will raise an {{{AttributeError}}}.

642

642

643

=== Authentication has been consolidated ===

644

645

Previously, pieces of the authentication system resided in at least 4 different places. Everything has now been consolidated into {{{django.contrib.auth}}} as follows:

646

647

* {{{django.parts.auth.formfields.AuthenticationForm}}} has moved to {{{django.contrib.auth.forms}}}

648

* {{{django.parts.auth.anonymoususers.AnonymousUser}}} has moved to {{{django.contrib.auth.models}}}

649

650

* {{{django.views.auth.login.*}}} has moved to {{{django.contrib.auth.views}}}

651

* {{{django.views.decorators.auth.*}}} has moved to {{{django.contrib.auth.decorators}}}

652

653

* {{{django.views.registration.passwords.PasswordResetForm}}} has moved to {{{django.contrib.auth.forms}}}

654

* {{{django.views.registration.passwords.PasswordChangeForm}}} has moved to {{{django.contrib.auth.forms}}}

655

656

* {{{django.views.registration.passwords.password_reset}}} has moved to {{{django.contrib.auth.views}}}

657

* {{{django.views.registration.passwords.password_reset_done}}} has moved to {{{django.contrib.auth.views}}}

658

* {{{django.views.registration.passwords.password_change}}} has moved to {{{django.contrib.auth.views}}}

659

* {{{django.views.registration.passwords.password_change_done}}} has moved to {{{django.contrib.auth.views}}}

660

661

If you are using any of these classes or functions, you will need to update your code accordingly.