我一直在寻找一个框架来简化Django应用程序中相当复杂的工作流的开发。我希望能够使用该框架来自动化状态转换、许可,也许还有一些额外的功能,比如审计日志和通知。
我已经看过一些关于同一主题的更老的信息,但在过去的2-3年里并不是很多。我听说的主要选择是GoFlow (自2009年2月以来没有更新过)和django-workflow (似乎更活跃)。
有没有人用过这些包?它们是否成熟和/或与现代(1.3) Django兼容?有没有其他值得考虑的选择,可能更好或更好的支持?
发布于 2014-09-08 11:23:09
我是django-fsm和django-viewflow的作者,这两个项目可以称为“工作流库”。
工作流字本身有点被高估了。不同种类的库和软件可以自称为“工作流”,但具有不同的功能。工作流的共性是将某个过程的各个步骤连接成一个整体。
一般分类
在我看来,工作流实现方法可以分为以下几类:
顺序用户工作流-无论是工作流库自动化单用户任务还是具有权限检查/任务分配options.
其中,前两个可以被认为是渐进式的差异,但其他两个是基本的。
特定的包
以下是我们目前在工作流部分下的django、djangopackages和awesome-django project list中的简要描述:
这些django状态机库都不支持并行工作流,这在很大程度上限制了它们的应用范围。但有两个是这样的:
我看到了在django-viewflow之上实现动态工作流构造功能的方法。一旦它完成,if将结束django世界中最后一个也是最复杂的工作流实现案例。
希望到目前为止,如果有人能够阅读,现在可以更好地理解工作流术语,并可以有意识地为他们的项目选择工作流程库。
发布于 2011-07-23 03:58:42
有没有其他值得考虑的选择,可能更好或更好的支持?
是。
巨蟒。
您不需要工作流产品来自动化状态转换、许可,也许还需要一些额外的功能,比如审计日志和通知。
这就是为什么没有很多项目这样做的原因。
你还需要什么?你已经拥有了一切。
使用状态设计模式的类定义,以及用于授权和日志记录的装饰器,效果非常好,您不需要任何超出已有的东西。
请阅读以下相关问题:Implementing a "rules engine" in Python
发布于 2011-09-24 06:03:45
我的一个同事django-fsm编写的一个包似乎工作得很好--它既相当轻量级,又功能强大,非常有用。
https://stackoverflow.com/questions/6795328
复制相似问题