A quick 'n' dirty django app for switching between different users while testing.
- "Quick and dirty". Just include the middleware. That's it!
- Provides a select box with a list of users.
- User list can be defined in
settingsor all users are loaded. - Works only when
settings.DEBUGisTrue
>= Django 1.2
To install the latest version:
pip install git+git://github.com/ikraftsoft/django-userswitch#egg=django-userswitch
It can also be installed from PyPI with pip or easy_install:
pip install django-userswitch easy_install install django-userswitch
Add userswitch middleware to the MIDDLEWARE_CLASSES in settings.py after the default middlewares:
MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', ... 'userswitch.middleware.UserSwitchMiddleware', )
Optionally you can add USERSWITCH_OPTIONS dict to the settings.py:
USERSWITCH_OPTIONS = {
'css_class': '', # CSS class to be added to the switcher widget. Default='userswitch'.
'css_inline': '', # Inline css for the switcher widget, if any
'content_types': (), # a tuple of content-type for which to render switcher widget. Default = ('text/html', 'application/xhtml+xml')
'auth_backend': '', # Custom auth backend if any. Default = 'django.contrib.auth.backends.ModelBackend'
'replace_text': '', # Text to replace with the widget, default add to end "body" tag.
'users': (), # List of usernames(as strings) to be shown in the switcher widget. If its empty, all users are loaded.
'force_on': False, # Turns on USERSWITCH even if DEBUG = False
}
Note: default value of css_inline option provides some basic absolute
positioning. To change those either specify css_inline option
manually or override position, top, right, z-index in the class
specified in css_class with !important.
That's All!