Django工作流库
django-river的Python项目详细描述
欢迎投稿。过来帮个忙:—)
river是一个用于Django的开源工作流框架,它支持 fly改变了状态、转换和授权规则,而不是硬编码。
开发这个框架的主要目标是能够编辑任何 动态工作流项。这意味着工作流中的所有元素 状态、转换或授权规则可随时编辑,因此不再需要重新部署应用程序。
playground:有一个假的jira示例存储库作为django河的一个游乐场。https://github.com/javrasya/fakejira
文档
在线文档可在http://django-river.rtfd.org/找到。
要求
- Python(2.7,3.4,3.5,3.6)
- django(1.7,1.8,1.9,1.10,1.11,2.0,2.1)
- Django>;=2.0支持Python>;=3.5
- Django==1.7只支持Python==2.7和Python==3.4
用法
安装并启用它
pip install django-river
INSTALLED_APPS=[...river...]
在模型中创建第一个状态机并迁移数据库
fromdjango.dbimportmodelsfromriver.models.fields.stateimportStateFieldclassMyModel(models.Model):my_state_field=StateField()
创建您的状态,因为其中一个状态将是您在“管理”页上的初始状态
使用模型(MyModel-my_state_field)信息和授权规则以及它们在管理页上的优先级创建转换审批元数据
祝您旅途愉快。
my_model=MyModel.objects.get(....)my_model.river.my_state_field.approve(as_user=transactioner_user)my_model.river.my_state_field.approve(as_user=transactioner_user,next_state=State.objects.get(label='re-opened'))# and much more. Check the documentation
注意
每当保存模型对象时,它的状态字段将用 状态由django-river在上面的步骤3给出。
注意
确保工作流中只定义了一个初始状态,以便django-river可以自动选择该状态 创建模型对象时。所有其他工作流项将在创建对象后由django-river管理。
贡献
欢迎投稿!请加入“使永远完全免费”^{tt20}更好。