大纲
如上一个关于 stackoverflow 的问题所述,我正在使用ViewFlow.io实现工作流。
该用例是关于使用 Django-Viewflow 库收集作者信息和版权。每次将作者添加到书籍时,都应启动工作流。
myFlow/flows.py
from viewflow import flow
from viewflow.base import this, Flow
from viewflow.contrib import celery
from viewflow.views import StartProcessView, ProcessView
from . import models, tasks
class AuthorInvitationFlow(Flow):
process_cls = models.AuthorInvitation
start = flow.Start(StartProcessView) \
.Permission(auto_create=True) \
.Next(this.notify)
notify = celery.Job(tasks.send_authorship_request) \
.Next(this.approve)
approve = flow.View(AuthorConfirmView) \
.Permission(auto_create=True) \
.Next(this.check_approve)
check_approve = flow.If(cond=lambda p: p.confirmed) \
.OnTrue(this.send) \
.OnFalse(this.end)
send = celery.Job(tasks.send_authorship) \
.Next(this.end)
end = flow.End()
我的问题
1 - 创建自定义 updateView 时,如何为特定任务指定自定义模板?
使用模板或模板名称不起作用。
class AuthorConfirmView(TaskViewMixin, UpdateView):
template_name = 'template_1.html'
fields = ["confirmed"]
def get_object(self):
return self.activation.process
2-如何/什么是每个流程实例拥有唯一 url 的最佳实践。当作者(又名用户)访问流程(工作流)实例的链接(例如http://mybook/process/11122)时,她将被重定向到活动任务。此外,我不确定“分配”是否是强制性的。
谢谢。