我是用摇尾型还是Django型?
我想向我的Wagtail站点添加一个简单的表单,这将允许一些用户(可能具有适当的权限)创建一个新页面,概述游戏场景。换句话说,就是一个标题字段和一个富文本字段 现在我已经阅读了位于的文档,这与我所需要的很接近,只是AbstractForm类或类似的类似乎是为了让用户设计他们自己的表单,我不希望他们这样做。因此,另一种选择是使用标准的Django表单,如中给出的“示例”。然而,我认为这没有什么用处 所以我的问题是:我是使用(我想)具有“正确”页面处理代码的Wagtail表单,还是用某种方式将Django表单植入我的Wagtail站点,并希望它与Wagtail内容很好地集成 或者,我可以简单地使用Wagtail表单并禁止用户修改它吗我是用摇尾型还是Django型?,django,forms,wagtail,Django,Forms,Wagtail,我想向我的Wagtail站点添加一个简单的表单,这将允许一些用户(可能具有适当的权限)创建一个新页面,概述游戏场景。换句话说,就是一个标题字段和一个富文本字段 现在我已经阅读了位于的文档,这与我所需要的很接近,只是AbstractForm类或类似的类似乎是为了让用户设计他们自己的表单,我不希望他们这样做。因此,另一种选择是使用标准的Django表单,如中给出的“示例”。然而,我认为这没有什么用处 所以我的问题是:我是使用(我想)具有“正确”页面处理代码的Wagtail表单,还是用某种方式将Dja
反省一下,我所需要做的(我想)就是定义一个新的页面类型!这将是一种排序形式,我通过检查演示中“创建事件”页面的源代码确认了这一点 我仍然需要一个链接/按钮来调用相关模型的实例,但这应该不是问题
正如我之前所指出的,这主要是因为我不了解Wagtail,但不知何故,我对Wagtail的用法解释得不太清楚。我建议使用Wagtail表单,原因如下
- 强大的开箱即用支持,轻松报告提交内容和电子邮件警报
- 关于为表单页面和响应页面构建视图的好文档,此外,您还可以向表单页面模型添加一些不错的内容,比如介绍段落
- 更好的页面处理正如您所提到的,无需考虑如何在现有站点结构中放置表单页面
- 普通页面的所有好处,如搜索、修订/草稿、现有视图和使用现有视图
- 提交的数据存储 所有表单提交(也称为响应)都存储在一个表单中。提交表是Wagtail表单模块的一部分。如果需要扩展基本功能,可以定义自己的表单提交表
- 为什么Django表单没有页面包装器? 我不确定这一点,主要原因可能是提供基本的用户定义表单作为Wagtail管理UI的一部分。在内部,使用Django表单字段,但动态定义,提交存储为JSON。其目的同样是拥有简单的用户定义表单
- 创建页面类型。 是的,这就是Wagtail处理表单问题的方式,表单只是一个页面。此表单页面可以存在于页面中您希望它存在的任何位置。这与片段不同,例如,片段是与页面分开使用的模型
- 链接到表单页面 由于每个表单页面也只是一个页面,因此可以在任何可以链接页面的位置创建指向该表单页面的链接
因此,这完全取决于您的需要。谢谢您的回复,但我仍然认为Wagtail在这里可以做一些改进。例如,我不清楚提交的数据将如何保存在数据库中,或者为什么标准Django表单没有简单的页面包装器。部分原因是我对Django不太熟悉,更不用说Wagtail了!嘿,有段时间了,但我想我会回答的。提交的数据保存在一个单独的表中,模型名为FormSubmissions(假设您遵循默认说明),位于json ish字段中(Django不支持所有数据库的json字段,因此它必须是通用文本)。没有一个简单的包装器,因为它不允许用户在Wagtail的管理员中轻松编辑表单。最后,如果您需要Django表单的强大功能,最好使用它,而不是摇摆表单。文档解释说,此功能并不打算取代Django表单。