使用户信息始终可用的中间件。

django-cuser的Python项目详细描述


travis-cli tests status for django-cuserPyPI WheelPyPI StatusPyPI LicensePyPI FormatPyPI Py_versionsPyPI DownloadsPyPI ImplementationPyPI VersionPyPI Egg

Overview

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

Supported Python versions

django-cuser当前可以在多个python版本上运行:

  • Python2(2.7)
  • Python3(3.4,3.5)
  • 皮比

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")
    ...

此字段是ForeignKeysettings.AUTH_USER_MODEL模型的,而您 可以这样对待。

Tests

django-cuser已经过django 1.8及更高版本的测试。运行测试:

$ python manage.py test -v 2

travis ci也提供此功能:

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在一个问题被连续正确回答三次/并添加差异后,我如何将程序循环回开始   Java中未实例化的匿名类   java如何在Android中录制视频,只允许横向模式和最长时间录制时间   java从另一个活动发送实时消息   多线程java线程和互斥   java禁用Spring安全日志   JAVA伊奥。StreamCorruptedException:在与子级和父级ProcessBuilder通信时写入子级中的标准输出时,流头无效   使用Java(HttpURLConnection)对Restheart进行身份验证(对于Mongodb)   java如何解决Jenkins中的SAXParseException?   java为什么我需要mockito来测试Spring应用程序?   计算sin-cos和tan时缺乏精度(java)   java Hibernate。不同项目中相同一对一映射的不同行为   java图像滑块:如何使用JavaFX将图像放在另一个图像上   java Mockito在使用when时抛出NotAMockException   http Java servlet发送回响应