順次ワークフローを表すWebアプリケーションを構築する必要があります。各ページで、ユーザーはフォームを入力し、送信時には、次のページにリダイレクトされます。フォームはお互いに依存しません。(動的に)順次ワークフローを変更するFLASK Webアプリケーション
したがって、たとえば、ワークフローがまだ
A -> B -> C -> D -> E -> F
だろうA, B, C, D, E, F
、我々は6ページを持っていると言う、配列の順序は時間をかけて頻繁に変更、あるいはなることを非常によく可能です動的情報に基づいてユーザごとに新しく作成されます。新しいシーケンスは、例えば、(再注文され、2ステップを省く)ことができる。
B -> A -> C -> F
このように、アプリケーションへのシーケンスのハードコードを避けたい。示唆されるようにhere。
私の現在のアプローチはnext()
def next(current_page)
if current_page == "/step_a":
return redirect(url_for("/step_b"))
elif current_page == "/step_b":
return redirect(url_for("/step_c"))
...
ディスパッチャー機能を持っており、各ビュー関数の戻り値に
return next(request.url_rule.rule)
を持つことであるフラスコ内のより良い(ベストプラクティス?)方法はありますこのようなシーケンシャルなワークフローを(特にhereのように)ビュー機能にハードコーディングすることなく定義(および容易に適用)できますか?