一个以django为中心的事件驱动规则引擎,用于对django模型和触发器的更改做出可扩展和可配置的响应。
django-dynamic-business-rules的Python项目详细描述
一个以django为中心的事件驱动规则引擎,用于对django模型和触发器的更改做出可扩展和可配置的响应。
用例
- 配置向用户发送消息的规则,并在不部署新代码的情况下对其进行编辑
- 阻止垃圾邮件用户如果在特定时间段内执行了太多可疑活动,则允许非程序员用户编辑该时间段
- 如果遇到一组可配置的可疑行为,则触发所需的密码重置
关键思想
这个项目的目标是让非技术用户能够 配置系统的行为,类似于 ifft或zapier。不需要此工具的非开发人员最终用户 成为程序员,但他们至少需要有点技术性 在他们对系统的理解中 文件将称他们为“分析师”。
快速启动
安装Django动态业务规则:
pip install django-dynamic-business-rules
将其添加到已安装的应用程序中
INSTALLED_APPS=(...'dynamic_business_rules.apps.DynamicBusinessRulesConfig',...)
添加django动态业务规则的url模式:
fromdynamic_business_rulesimporturlsasdynamic_business_rules_urlsurlpatterns=[...url(r'^admin/dynamic-rules/',include(dynamic_business_rules_urls)),...]
创建变量类
在一个django应用程序中,在名为 动态规则变量.py 寻找变量类实现的自省应用程序)
变量对象将django信号转换为一组值 非技术用户在创建条件业务时可以使用的 规则。有关示例变量对象,请参见example/dynamic_rule_variables.py 变量对象不是从任何对象继承的,它是 构造函数接收django信号作为kwargs,然后接收其属性 评估该信号的属性(在示例中 post_save signal的实例是一个键值)。
创建动作类
在一个django应用程序中,在名为 动态规则操作.py 内省寻找动作类实现的应用程序)
action对象提供了规则集可以“激发”的方法 他们的情况估计是真的。
管理员的屏幕截图
创建新规则
添加要计算的条件
功能
- 允许用户灵活地实现和扩展自己的
变量和 >动作< /c> >类,允许您构建符合您项目需求的业务规则引擎。
运行测试
代码真的有用吗?
source <YOURVIRTUALENV>/bin/activate (myenv) $ pip install tox (myenv) $ tox
历史记录
0.1.0(2019-02-08)
- pypi上的第一个版本。