django-cuser 1.0

Middleware to make user information always available
django-cuser is a Django app that will bring you current user of your Django application from anywhere in your code.


djang-cuser is also avilable at So it can be install it by pip or easy_install:

 python pip install django-cuser

Or you can grap the latest version tarball:

 python install

To enable django-cuser in your project

- Add 'cuser' to INSTALLED_APPS in your
- Add 'cuser.middleware.CuserMiddleware' to MIDDLEWARE_CLASSES after the authentication and session middleware

Who is the current user

To set/get the user info, there is the following API:

from cuser.middleware import CuserMiddleware

Set the current user for this thread. Accepts user objects and login names:


Get the current user or None:

user = CuserMiddleware.get_user()

This will return some_user if there is no current user:

user = CuserMiddleware.get_user(some_user)

Forget the current user. It is always safe to call this, even if there is no urrent user:


The middleware automatically sets/deletes the current user for HTTP requests. For other uses (management commands, scripts), you will need to do this yourself.

echelon also provides a CurrentUserField, which can be used for auditing purposes. Use it as follows:

from echelon.fields import CurrentUserField:

class MyModel(models.Model):
 creator = CurrentUserField(add_only=True, related_name="created_mymodels")
 last_editor = CurrentUserField(related_name="last_edited_mymodels")

This field is a ForeignKey to the django.contrib.auth.models.User model and you can treat it as such.

last updated on:
May 14th, 2012, 12:40 GMT
license type:
Other/Proprietary License
developed by:
Alireza Savand
ROOT \ Internet \ HTTP (WWW)
Download Button

In a hurry? Add it to your Download Basket!

user rating



Rate it!

Add your review!