跳转到主要内容

中间件,确保用户信息始终可用。

项目描述

travis-cli tests status for django-cuser PyPI Wheel PyPI Status PyPI License PyPI Format PyPI Py_versions PyPI Downloads PyPI Implementation PyPI Version PyPI Egg

概述

cuser将从您的代码的任何位置为您带来django应用程序的当前用户。我知道,听起来很棒 ;)

支持的Python版本

django-cuser 目前可以在多个Python版本上运行

  • Python 2 (2.7)

  • Python 3 (3.4, 3.5)

  • PyPy

安装

django-cuser 也可以在 http://pypi.python.org/pypi/django-cuser 上找到,因此可以通过pip或easy_install进行安装

$ pip install django-cuser

或者您可以抓取最新的版本压缩包

$ python setup.py install

要在项目中启用django-cuser

  • cuser 添加到 settings.py 中的 INSTALLED_APPS

  • cuser.middleware.CuserMiddleware 添加到 MIDDLEWARE_CLASSES 中,在身份验证和会话中间件之后。

当前用户是谁

要设置/获取用户信息,有以下API

from cuser.middleware import CuserMiddleware

为此线程设置当前用户。接受用户对象和登录名

CuserMiddleware.set_user(some_user)

获取当前用户或None

user = CuserMiddleware.get_user()

如果没有当前用户,这将返回some_user

user = CuserMiddleware.get_user(some_user)

忘记当前用户。即使没有当前用户,调用此函数也是安全的

CuserMiddleware.del_user()

中间件会自动为HTTP请求设置/删除当前用户。对于其他用途(管理命令、脚本),您需要自己处理。

CurrentUserField

cuser 还提供了一个 CurrentUserField,可用于审计目的。使用方法如下:

from cuser.fields import CurrentUserField

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

该字段是 settings.AUTH_USER_MODEL 模型的外键,您可以将其视为外键。

测试

django-cuser 已经过 Django 1.8 及以上版本的测试。要运行测试:

$ python manage.py test -v 2

它也可在 travis-ci 上找到

https://travis-ci.org/Alir3z4/django-cuser/

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

django-cuser-2017.3.16.tar.gz (8.3 kB 查看哈希值)

上传时间

构建分发

django_cuser-2017.3.16-py2.py3-none-any.whl (12.5 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下赞助商支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面