在线程/db级别方便地存储对请求用户的引用。

django-currentuser的Python项目详细描述


https://travis-ci.org/PaesslerAG/django-currentuser.svg?branch=master

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-versionshttps://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

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

推荐PyPI第三方库


热门话题
java无法使用JAXB配置Moxy   java如何让我的简单Swing telnet客户端正确显示字符?   java中从可运行线程调用主线程的多线程处理   java数据源。EBJ3会话bean中的getConnection()   使用java和正则表达式从xml文件提取值时出现问题   java定制Jersy胡须Mvc   在Java中,“限制并发”是什么意思?   java有没有更干净的方法可以在这里使用Optional,而不在三个地方返回“NA”?   java Tomcat启动,然后崩溃,除非我打电话   java理解客户机和服务器   java时间戳将在视图对象>实体转换期间丢失   如何在java中返回布尔值(基元)?   java使用spring mvc设置日志记录,希望仅对我的代码进行跟踪/调试   用Jackson解析嵌套对象