跳转到主要内容

Gargoyle是一个基于Django构建的平台,允许您根据条件打开或关闭应用程序的功能。

项目描述

Gargoyle

https://img.shields.io/pypi/v/gargoyle-yplan.svg https://travis-ci.org/adamchainz/gargoyle.svg?branch=master https://readthedocs.org/projects/gargoyle-yplan/badge/?version=latest

已停用:该项目不再维护。 我(Adam Johnson)不再有时间继续维护该项目。自从我接手这个项目以来,我一直在维护该项目及其相关的包django-modeldictnexus,为我前雇主YPlan工作。如果您想赞助持续维护或自己接管它,请联系@adamj.eu

Gargoyle是一个基于Django构建的平台,允许您根据条件打开或关闭应用程序的功能。

该项目最初由Disqus创建,但由于不活跃,我们在YPlan接管了该分支的维护。

需求

与以下所有组合进行了测试:

  • Python: 3.6

  • Django: 1.11, 2.0, 2.1, 2.2

支持Python 3.4及以上版本。

安装

使用 pip 安装

pip install gargoyle-yplan

如果您是从原始版本升级到这个分支,您需要先运行以下命令,因为这些包冲突:

pip uninstall django-modeldict gargoyle

如果您不这样做,那么运行 pip uninstall gargoyle 将也会删除 gargoyle-yplan 的文件,以及我们 django-modeldict 分支的文件。类似地,对于我们的分支也是如此。

文档

文档可在 Read The Docs 上找到。

历史版本

待发布

2.1.1 (2019-05-17)

  • 已停用:该项目不再维护。 我(Adam Johnson)不再有时间继续维护该项目。自从我接手这个项目以来,我一直在维护该项目及其相关的包django-modeldictnexus,为我前雇主YPlan工作。如果您想赞助持续维护或自己接管它,请联系@adamj.eu

2.1.0 (2019-04-28)

  • 取消对Django 1.8、1.9和1.10的支持。现在只支持Django 1.11及以上版本。

  • 依赖 nexus-yplan >= 2.1.0,这也取消了旧Django版本的支持。

  • 在Django 2.2上进行了测试。不需要任何兼容性更改。

2.0.0 (2019-03-03)

  • 取消对Python 2的支持,现在只支持Python 3.4及以上版本。

1.5.0 (2018-12-29)

  • 增加了对向开关添加冲突条件的保护。

1.4.0 (2018-08-05)

  • GARGOYLE_SWITCH_DEFAULTS 添加了 initial_status 选项。

1.3.0 (2017-10-28)

  • 为管理命令添加了缺失的参数信息和文档。

  • Django 2.0b1 支持

1.2.7 (2016-12-01)

  • 增加了三个内置条件集,用于检查今天是否在某个日期之前或之后 - UTCTodayConditionSetAppTodayConditionSetActiveTimezoneTodayConditionSet

1.2.6 (2016-08-03)

  • 将要求设置为排除 django-jsonfield==1.0.0(此版本对PostgreSQL有损坏,请使用 1.0.1+)。

  • 使 gargoyle.register() 可用作装饰器。

  • 使 gargoyle.unregister() 返回一个布尔值,表示是否已注销。

  • 修复了当值为空字符串时移除条件的问题。

1.2.5 (2016-05-09)

  • conditions.py 中移除了调试打印,这些打印会干扰您的WSGI日志。

1.2.4 (2016-05-02)

  • 添加了一个迁移,用于整理 Switch.status 上的 choicesbytesstr。因为它仅存在于内存中,所以这是一个空操作。

1.2.3 (2016-04-11)

  • 修复了在1.2.2中在 @switches 中,在 TestCase 类上不正确工作的bug。

1.2.2 (2016-04-11)

  • 移除了South迁移,因为South不支持Django 1.7+,而Gargoyle只支持Django 1.8+。

  • 将所有 __future__ 导入添加到所有文件中,以实现Python 2.7/3的兼容性。

  • 使 @switches 可用作 unittest.TestCase 类的类装饰器,其中它从 setUpClass 应用到所有测试,直到 tearDownClass。这需要在Python 2.7上添加对 contextdecorator 的依赖。

1.2.1 (2016-02-25)

  • 简化了自动发现代码,以使用 AppConfig.ready()。如果不在使用Nexus的情况下,不再需要在您的 urls.py 中添加对 gargoyle.autodiscover() 的调用。

  • 修复了在Django 1.9上出现的 url patterns 警告。

1.2.0 (2016-02-12)

  • 修复了 Range 条件的拆分,这是 disqus/gargoyle#55 的合并,感谢 @matclayton。

  • 修复了Nexus管理界面中 Range 条件的解析。

  • 修复了Nexus界面以支持名称中包含点号的开关,这是 disqus/gargoyle#73 的合并,感谢 @Raekkeri。

  • 移除了所有内联JavaScript。

  • 添加了 ifnotswitch 模板标签,这是 disqus/gargoyle#92 的合并,感谢 @mrfuxi。

  • 修复了Nexus管理界面中,键中包含空格的开关的问题,这是 disqus/gargoyle#98 中报告的问题,感谢 @arnaudlimbourg。

1.1.1 (2016-01-15)

  • 修复jQuery模板

1.1.0 (2016-01-14)

本版本具有损坏的用户界面,请升级

  • Django 1.9 支持

  • 使用 django-modeldict 的 YPlan 分支

  • 移除了对Django 1.7的支持

  • 添加了对Python 3.4和3.5的支持

1.0.1 (2015-12-09)

  • 将要求修复为使用 nexus-yplan 而不是 nexus

1.0.0 (2015-12-09)

  • 由 YPlan 分支

  • Django 1.8 兼容性 - 使用 Django 迁移

0.11.0 (2015-02-03)

  • 更好地支持 Django 1.6 和 Django 1.7

  • 停止支持 Django 1.2 和 Django 1.3

  • 如果可用,使用 model_name 代替 module_name(在 Django 1.6 中已弃用)

  • DateTimeFields 现在利用了 auto_now=True 关键字参数

  • Travis 现在在 Django 1.6/Django 1.7 上进行测试

0.7.3 (2012-01-31)

  • 将 ModelDict 版本升级以处理 Celery 任务中的过期问题

0.7.2 (2012-01-31)

  • 修正了尝试序列化 datetime 对象的问题

0.7.1 (2012-01-31)

  • 更改了 gargoyle.testutils.switches 的行为,以通过 monkey patching is_active 方法解决在上下文期间重新加载开关的情况

0.7.0 (2012-01-27)

  • 添加了启用开关的全局确认消息

  • 在索引视图中添加了开关的修改日期和排序

0.6.1 (2011-12-19)

  • 要求 Nexus >= 0.2.0

0.6.0 (2011-12-16)

  • 添加了基本的开关继承

  • 在界面中添加了开关详情的自动折叠功能

  • 在界面中添加了开关的简单搜索过滤功能

0.5.2 (2011-12-06)

  • 改进了 Gargoyle 仪表板小部件的显示

0.5.1 (2011-12-06)

  • 修正了 switch_condition_removed 信号以传递 switch 实例

0.5.0 (2011-12-06)

  • 更新了信号,以便在每个信号中传递更有用的信息(包括开关)

0.4.0

  • 默认情况下,现在所有 ModelConditionSet 都可用百分字段

  • 修正了与 Nexus 的 CSRF 冲突问题

0.3.0 (2011-08-15)

  • 添加了 gargoyle.testutils.with_switches 装饰器

  • 添加了 gargoyle.testutils.SwitchContextManager

0.2.4

  • 更新了自动发现代码,使其类似于 Django 的较新示例

  • 将 django-modeldict 升级到 1.1.6 以解决注册中的线程问题

  • 添加了 GARGOYLE_AUTO_CREATE 设置以禁用新开关的自动创建

  • 添加了将任意对象传递给 ifswitch 模板标记的能力

0.2.3 (2011-07-12)

  • 确保 HostConditionSet 已注册

0.2.2 (2011-07-06)

  • 将测试移出 gargoyle 命名空间

0.2.1

  • 用户界面调整

0.2.0

  • [向后不兼容] 现在在没有任何条件的情况下,SELECTIVE 开关是无效的

  • 添加了 ConditionSet.has_active_condition,并支持全局/环境检查的默认 NoneType 实例

  • 添加了 HostConditionSet,允许您为单个服务器主机名指定开关

由以下支持

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