在线程/db级别方便地存储对请求用户的引用。
django-currentuser的Python项目详细描述
在线程/db级别方便地存储对请求用户的引用。
Quickstart
安装django currentuser:
pip install django-currentuser
将其添加到设置中的中间件类中。py:
MIDDLEWARE = ( ..., 'django_currentuser.middleware.ThreadLocalUserMiddleware', )
然后在项目中使用:
from django_currentuser.middleware import ( get_current_user, get_current_authenticated_user) # As model field: from django_currentuser.db.models import CurrentUserField class Foo(models.Model): created_by = CurrentUserField()
Differences to django-cuser
两个图书馆都有相同的目的,但要注意 差异(截至Django Cuser v.2017.3.16):
- django currentuser的currentuserfield存储对请求用户的引用 在初始化模型实例时,仍然允许您覆盖 保存前的值。django cuser在预保存处理程序中设置值 在写入数据库之前。中间变更 将被忽略。
- django cuser在完成一个 因此,响应将不再用于测试目的。
Release Notes
- 0.4.2-支持的django和python版本的小修复程序
- 0.4.0-更新支持的版本 -放弃对Python3.4的支持 -对django 2.0的放弃支持 -添加对Python3.7的支持 -添加对django 2.2的支持 -将tox3travis.py更新为not loose deployment功能
- 0.3.4-使用公共travis进行打包,以消除对过时构建的依赖性 系统
- 0.3.3-由于生成过程问题而放弃Python3.7支持
- 0.3.1-尝试添加Python3.7支持
- 0.3.0-根据更新支持的版本 https://www.djangoproject.com/download/#supported-versions和 https://devguide.python.org/#status-of-python-branches -放弃对Python3.2的支持
- 0.2.3-支持自定义用户模型,删除django 1.10支持
- 0.2.2-支持Django 2.0
- 0.2.1-版本修复9 -支持django 1.11.x而不仅仅是1.11.0
- 0.2.0-新的中产阶级模式 -适应django 1.10新的基于对象的中产阶级格式+ -放弃对已弃用的django版本1.8和1.9的支持
- 0.1.1-小版本 -只要通过的Kwarg与默认值匹配,就不显示警告(避免在克隆字段时在运行测试期间打印这些Kwarg)
- 0.1.0-初始版本 -提供中间件+方法设置+从线程检索当前登录用户的引用 -提供默认存储当前登录用户的currentuserfield -支持Python2.7、3.4、3.5和3.6上的django 1.10、1.11-根据official django docs
Contributing
作为一个开源项目,我们欢迎大家的贡献。
代码位于github。
Reporting issues/improvements
请打开issue on github 或者提供pull request 无论是代码还是文档。
对于不重要的更改,我们恳请您打开一个问题,因为它可能会被拒绝。 但是,如果pull请求的差异更好地说明了这一点,请随意 无论如何这是一个请求。
Pull Requests
- 对于代码更改
- 它必须有测试覆盖变化。您可能会被要求覆盖缺失的场景
- 最新的flake8将运行,不会产生任何警告
- 如果更改足够重要,则必须提供文档
若要触发打包,请在具有更改的主分支上运行make release。 版本号。
Setting up all Python versions
sudo apt-get -y install software-properties-common sudo add-apt-repository ppa:fkrull/deadsnakes sudo apt-get update for version in 3.5 3.6 3.7; do py=python$version sudo apt-get -y install ${py} ${py}-dev done
Code of Conduct
因为它是django扩展,所以如下所示 Django’s own Code of Conduct。 由于还没有邮件列表,请给主要作者之一发邮件 (请参见setup.py文件或github contributors)