我正在 django 中构建一个应用程序,允许用户创建和编辑流程图以实现流程/程序控制。共有三种基本型号:Procedure
, Step
,和Transition
.
我已经创建并调试了所有模型关系,通过管理界面和 shell,我可以创建 Procedures
有几个Steps
和Transitions
。它具有功能性,但不适用于最终用户。我需要创建一个基于浏览器的 jgraphical 界面。
输入visjs ,一个 JavaScript 可视化库。使用 visjs,我创建了一个基本的框图编辑器,允许用户添加/编辑/删除节点和边(这是我第一次尝试 JavaScript)。我可以从数据库加载数据,并通过几个自定义 View 和 JSON 序列化将数据发送回数据库。然而,它感觉很笨拙并且难以维护。例如,它根本没有集成到 django 的表单框架中。
目前,提交时,JavaScript 会进行序列化以发布 JSON 数据和仅 JSON 数据。我真的希望这是一个标准的表单提交,但我不知道如何构建表单。
您将如何构建一个表单来处理这个问题?我基本上试图让我的 javascript 框图成为表单,如果这有意义的话。这是自定义小部件的用例吗?
这里的另一个问题是编辑器需要创建/更新/删除顶级过程、步骤和边缘。
感谢您的帮助
最佳答案
我认为自定义小部件正是您所寻找的,并且可以从其他执行类似操作的 Django 应用程序的示例开始学习。我目前正在从事的项目包括名为 django-ckeditor 的应用程序它在 ckeditor 周围创建一个小部件。我相信它解决了与您类似的问题,因为它从 javascript 小部件创建了 Django 小部件。
研究他们如何解决类似问题,看看是否有帮助。
关于javascript - Django、javascript 和复杂表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29811667/