一个以django为中心的事件驱动规则引擎,用于对django模型和触发器的更改做出可扩展和可配置的响应。

django-dynamic-business-rules的Python项目详细描述


https://badge.fury.io/py/django-dynamic-business-rules.svghttps://travis-ci.org/adamhaney/django-dynamic-business-rules.svg?branch=masterhttps://codecov.io/gh/adamhaney/django-dynamic-business-rules/branch/master/graph/badge.svg

一个以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对象提供了规则集可以“激发”的方法 他们的情况估计是真的。

管理员的屏幕截图

创建新规则

docs/img/admin_basic_rule_setup.png

添加要计算的条件

docs/img/admin_condition_sets.png

功能

  • 允许用户灵活地实现和扩展自己的变量和 >动作< /c> >类,允许您构建符合您项目需求的业务规则引擎。

运行测试

代码真的有用吗?

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

学分

用于呈现此包的工具:

历史记录

0.1.0(2019-02-08)

  • pypi上的第一个版本。

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

推荐PyPI第三方库


热门话题
在收到远程通知时对iBeacon进行java扫描   尝试在Java中实现MD5哈希的算法   java getLastLocation最近有多久了?   java线程创建侦听器   swing Java JComboBox接受ArrayList,但不显示ArrayList的项   构建服务器上的java XML验证速度较慢   Tomcat无法识别java中的更改(Intellij配置)   java 5中引入泛型的原因   java意图。Android中的额外_流   for循环Java直接遍历数组而不是数组变量   java内部类中的两个声明构造函数   java试图使用子文本字段在JPanel上设置边框   java如何允许在Android WebView中进行条带签出?   在Java中,如何将数字从一个类转移到另一个类?   从任务栏关闭浏览器时的java会话   java有没有一种自动化的方法来确保代码的所有部分都经过单元测试?   2DArrays Java编码查找数组