# settings.py
INSTALLED_APPS = (
# ...
'substitution_user',
)
MIDDLEWARE_CLASSES = (
# ...
'substitution_user.middleware.SubstitutionUserMiddleware',
)
# urls.py
urlpatterns = patterns('',
# ...
url(r'^substitution_user/', include('substitution_user.urls')),
)
# someapp/admin.py
# ...
from django.contrib.auth import get_user_model
from django.contrib.auth.admin import UserAdmin as UserAdminBase
from substitution_user.admin import SubstitutionUserAdminMixin
# ...
@admin.register(get_user_model())
class UserAdmin(SubstitutionUserAdminMixin, UserAdminBase):
pass
# template
{% load substitution_user %}
{% substitution_user_get_real_user as real_user %}
{% if real_user != request.user %}
{{ request.user.username }} [{{ real_user.username }}]
{% else %}
{{ request.user.username }}
{% endif %}