django-cuser

Middleware to make user information always available
Download

django-cuser Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Other/Proprietary Li...
  • Price:
  • FREE
  • Publisher Name:
  • Alireza Savand
  • Publisher web site:
  • https://github.com/Alir3z4/

django-cuser Tags


django-cuser Description

django-cuser is a Django app that will bring you current user of your Django application from anywhere in your code.Installingdjang-cuser is also avilable at http://pypi.python.org/pypi/django-cuser. So it can be install it by pip or easy_install: python pip install django-cuserOr you can grap the latest version tarball: python setup.py installTo enable django-cuser in your project- Add 'cuser' to INSTALLED_APPS in your settings.py- Add 'cuser.middleware.CuserMiddleware' to MIDDLEWARE_CLASSES after the authentication and session middlewareWho is the current userTo set/get the user info, there is the following API:from cuser.middleware import CuserMiddlewareSet the current user for this thread. Accepts user objects and login names:CuserMiddleware.set_user(some_user)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:CuserMiddleware.del_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.Product's homepage


django-cuser Related Software