使用户信息始终可用的中间件。
django-cuser的Python项目详细描述
Overview
cuser将从代码中的任何地方为您带来django应用程序的当前用户。 我知道,听起来很棒;)
Installing
django cuser也可以在http://pypi.python.org/pypi/django-cuser找到 因此可以通过pip或easy_安装:
$ pip install django-cuser
或者您可以使用最新版本的tarball:
$ python setup.py install
在项目中启用django cuser
- 将cuser添加到INSTALLED_APPS中的settings.py
- 将cuser.middleware.CuserMiddleware添加到MIDDLEWARE_CLASSES后面 身份验证和会话中间件。
Who is the current user
要设置/获取用户信息,有以下API:
from cuser.middleware import CuserMiddleware
为此线程设置当前用户。接受用户对象和登录名:
CuserMiddleware.set_user(some_user)
获取当前用户或无用户:
user = CuserMiddleware.get_user()
如果没有当前用户,则返回一些用户:
user = CuserMiddleware.get_user(some_user)
忘记当前用户。即使没有当前用户,也可以安全地调用此命令:
CuserMiddleware.del_user()
中间件自动为http请求设置/删除当前用户。 对于其他用途(管理命令、脚本),您需要这样做 你自己。
CurrentUserField
cuser还提供了一个CurrentUserField,可用于审核 目的。使用方法如下:
从cuser.fields导入currentuserfield
class MyModel(models.Model): .... creator = CurrentUserField(add_only=True, related_name="created_mymodels") last_editor = CurrentUserField(related_name="last_edited_mymodels") ...
此字段是ForeignKey到settings.AUTH_USER_MODEL模型的,而您 可以这样对待。