Django Assume is a simple, reusable Django app that allows administrators to log in to other user accounts without having to provide a password. This can be useful for investigating and troubleshooting problems related to specific user accounts.
This app is intended for use with Django 1.3 and later.
Suggestions and contributions are welcome. USE THIS APP AT YOUR OWN RISK!
pip install django-assumeAdd
assumetosettings.INSTALLED_APPSand make sure that theapp_directoriestemplate loader is enabled in your project:INSTALLED_APPS = ( # ... 'assume', )Add one of the custom authentication backends in
assume.backendstosettings.AUTHENTICATION_BACKENDS. For example:AUTHENTICATION_BACKENDS = ( 'assume.backends.AssumableModelBackend', 'django.contrib.auth.backends.ModelBackend', )Include
assume.admin_urlsin your project's URL patterns:urlpatterns += patterns('', (r'^admin/', include('assume.admin_urls')), )
You should now see an "Assume" button near the top of each Change User form in admin; clicking the button will log you in as that user.
To specify the next URL to be redirected to after a user has been assumed, use the following setting:
URL_AFTER_ASSUME = '/next/url/'
Alternately, specify a custom URL pattern and pass a
next_urlparameter to theassume_userview:urlpatterns += patterns('', url(r'^admin/auth/user/(\d+)/assume/$', 'assume.views.assume_user', { 'next_url': '/demo/' }, name='assume_user'), )By default, staff members cannot be assumed. This can be changed using the following setting:
CAN_ASSUME_STAFF = True
