缓存用户所在的组,以便请求不必调用数据库来检查组状态。

django-groups-cache的Python项目详细描述


https://badge.fury.io/py/django-groups-cache.svghttps://travis-ci.org/audiolion/django-groups-cache.svg?branch=masterhttps://codecov.io/gh/audiolion/django-groups-cache/branch/master/graph/badge.svg

缓存用户所在的组,以便请求不必调用数据库来检查组状态。

支架

当前支持Django1.8、1.11和2.0与Python2.7/Python3,其中对版本的支持与 詹戈的支持。有关特定的python和django版本对,请参见tox.ini文件。

文档

完整的文档位于https://django-groups-cache.readthedocs.io

快速启动

安装django组缓存:

pip install django-groups-cache

将其添加到已安装的应用程序中

INSTALLED_APPS=(...'groups_cache.apps.GroupsCacheConfig',...)

将中间件添加到中间件类中

MIDDLEWARE_CLASSES=('django.contrib.sessions.middleware.SessionMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware',...'groups_cache.middleware.GroupsCacheMiddleware',)

如果用户在组名中,则签入django模板:

{%if"admins"inrequest.groups_cache%}<ahref="/admin">AdminPanel</a>{%endif%}# or use templatetag, note that templatetag is slower{%loadhas_group%}{%ifrequest.user|has_group:"admins"%}<ahref="/admin">AdminPanel</a>{%endif%}

打开缓存:

CACHES={'default':{'BACKEND':'django.core.cache.backends.memcached.MemcachedCache','LOCATION':'127.0.0.1:11211',}}

有关设置的详细信息,请参见https://docs.djangoproject.com/en/1.10/topics/cache/#memcached 上memcached。

注**

使用django.core.cache.backends.locmem.locmemcache不安全,除非您 只运行一个进程(很可能你没有)。

有关详细信息,请参见https://docs.djangoproject.com/en/1.10/topics/cache/#local-memory-caching

功能

  • 组缓存属性添加到请求对象
  • 提供模板taghas_group
  • 用户模型更改和m2m多个字段更改时使缓存失效
  • 全面测试,覆盖率高

运行测试

source <YOURVIRTUALENV>/bin/activate
(myenv) $ pip install tox
(myenv) $ tox

学分

用于呈现此包的工具:

历史记录

0.5.5(2017-01-13)

  • 模板的错误修复taghas_group
  • 添加了测试以100%覆盖TemplateTag文件夹

0.5.5(2017-01-12)

  • 从coverage report中省略url.py(不用于django包,但需要它)
  • 从覆盖率报告中省略apps.py(默认应用程序文件)

0.5.4(2017-01-12)

  • 从Travis CI构建中删除PY32/Django1.8支持

0.5.3(2017-01-12)

  • TravIS.YML文件和CI构建

0.5.2(2017-01-12)

  • 在readme.rst中键入

0.5.1(2017-01-12)

  • 添加codecov.io支持
  • 文档更新

0.5.0(2017-01-12)

  • 将requirements.txt添加到tox.ini中,以便测试可以运行
  • 修复由于1.9/1.10代码中的向后不兼容更改而导致与django 1.8/1.9的兼容性中断的问题

0.4.0(2017-01-12)

  • 添加生成100%覆盖率的测试套件
  • 修复了测试套件在组上发现的缓存未失效的错误manytomanyfield changing

0.3.1(2017-01-11)

  • 文档更新

0.3.0(2017-01-11)

  • pypi的第一个稳定的工作版本。

0.1.0(2017-01-11)

  • pypi上的第一个版本。

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

推荐PyPI第三方库


热门话题
如何用java表示这个数学函数的算法   Java/Stream帮助:仅使用streams将嵌套的映射列表转换为映射   使用Selenium连接到数据库时发生java未知主机异常   java如何了解jvm内存使用:“堆内存”和“堆外内存”   java Oracle BI报告导入模板   java如何使用Spring将xml转换为bean?   java线程。join()以保证执行顺序   java从THINGSPEAK到ANDROID应用程序获取JSON数据   使用Java的stanford库中的异常   java正确使用来自其他类文件的方法   如果集合中的元素类型为接口类型,如何填充集合?(爪哇)   记录java。util。记录器创建的文件超过了应有的数量   类Java对象uniq值   尝试调用无法应用于()的方法时出现java错误