Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Login as any user from the Django admin interface, then switch back when done
branch: master
Failed to load latest commit information.
CHANGES.txt Version bump to 0.4.7 and updating CHANGES.txt
LICENSE Adding a license. Fixes #8



Step 1: Settings

Add django_su to INSTALLED_APPS. Make sure you put it before django.contrib.admin.

Next add the django-su authentication backend:

    # Standard Django auth
    # django-su auth

Step 2:

Add this to your root file:

url(r"^su/", include("django_su.urls")),

And that should be it!

Step 3: Install other eggs (optional, but recommended)

If you install these two eggs the enhance user experience:

Note that django ajax selects requires the following settings:

AJAX_LOOKUP_CHANNELS = {'django_su':  dict(model='auth.user', search_field='username')}

Step 4: Customize django_su (optional)

In your settings you can configure:

  • SU_REDIRECT_LOGIN: URL to redirect after the login. By default is "/"
  • SU_REDIRECT_EXIT: URL to redirect after the logout. By default is "/"
  • SU_LOGIN: A function to specify the perms that the user must have can use django_su
  • SU_CUSTOM_LOGIN_ACTION: A function to override the django.contrib.auth.login(request, user) function so you can set session data, etc.


Go and view a user in the admin interface and look for a new 'Login as' button in the top right.

Once you have su'ed into a user, you can get exit back into your original user by navigating to /su/ in your browser.


This app was put together by Adam Charnock, but was largely based on ideas, code and comments at:

django-su is packaged using seed.

Something went wrong with that request. Please try again.