Django viewflows - 定义API流程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django viewflows - 定义API流程相关的知识,希望对你有一定的参考价值。

我有一个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。为什么?

答案

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

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

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

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

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

以上是关于Django viewflows - 定义API流程的主要内容,如果未能解决你的问题,请参考以下文章

为 Django 模板定义 API?

通用视图的 Django REST API 自定义方法

DRF框架之使用Django框架完成后端接口(API)的定义

python Django教程 之 模型(数据库)自定义Field数据表更改QuerySet API

python Django Rest_Framework框架 认证权限限流功能组件详解(图文并茂版)

python Django Rest_Framework框架 认证权限限流功能组件详解(图文并茂版)