Django viewflows - 定义API流程

问题描述 投票:1回答:1

我有一个API端点,/api/create/。这将根据从客户端收到的有效负载在DB中创建新条目。

Payload - { 
'field1': 'value1`,
'field2': 'value2`,
'field3': 'value3`,
'field4': 'value4`,
'type': 'A'
}

现在取决于type,我有一个特定的工作流程。例如: - Type A需要在保存数据之前执行某些任务,Type B有自己的一组操作。

我没有任何UI,只有通过POST请求发出的请求。如何在这样的用例中使用django-viewflows

更新

我能够使用WorkFlowClass.start.run()以编程方式运行工作流程。它完美地启动了工作流程。但是,不是完整的工作流程。在完成工作流的Node1(开始)后,它不会转到Node2。意思是,只调用工作流的第一个任务,而不是后续任务。

这是我的工作流程。

class FunctionFlow1(Flow):
    start = flow.StartFunction(function1) \
        .Next(this.task2)
    task2 = flow.StartFunction(function2) \
        .Next(this.end)
    end = flow.End()

@flow_start_func
def function1(activation, **kwargs):
    print('Func1 Called.')
    activation.prepare()
    activation.done()
    return activation

@flow_start_func
def function1(activation, **kwargs):
    print('Func2 Called.')
    activation.prepare()
    activation.done()
    return activation

没有叫task2。为什么?

python django workflow django-viewflow
1个回答
1
投票

您可以使用viewflow.rest包来创建REST API。请查看演示项目并查看流动休息文档。

请注意,此功能仅适用于PRO

https://github.com/viewflow/cookbook/tree/master/react_ui

http://docs.viewflow.io/viewflow_rest.html

viewflow.rest包提供了REST接口的流实现。

© www.soinside.com 2019 - 2024. All rights reserved.