如何在Django管理界面中实现多步表单

4
我的任务是为用户提供分步填写表单的机会,并处理每一步的结果。
我找到了一个示例,它展示了我需要的功能,但这个示例是2009年的。
我知道有一个向导表单,但我不知道如何在Django管理员中实现它。
我尝试过这样做:
def get_urls(self):
    urls = super(MyCustomAdmin, self).get_urls()
    my_urls = [
        url(r'^my_view/$', Wizard.as_view([Form1, Form2]))        
    ]
    return my_urls + urls

但是出现了一个错误:

在/admin/сustom/custommodel/my_view/处发生AttributeError错误

'NoneType'对象没有属性'rsplit'

也许向导表单不是最好的选择。但我不知道如何以其他方式实现任务集。

1个回答

3

我拒绝了这个想法,现在我甚至不再寻找实现它的方法。我发现的唯一解决方案是https://github.com/narnikgamarnikus/django_reverse_admin但要小心,它不能处理datetype字段,所以保存后不会将对象绑定到表单,但保存仍然会进行。无论如何-这是一个不好的方式,但它以某种方式能够工作。 - Narnik Gamarnik
这里有一个针对Django 2.*的更新[链接] (https://pypi.org/project/django-reverse-admin)。 - japheth
2
我刚刚(2020年10月)使用django-formtools在django 3项目上实现了一个向导,效果非常好。这是一个设计良好的API,处理样板文件,您只需实现表单和业务逻辑,并可以重用ModelForms和其他管理工具。 - Uberdude
1
@Uberdude,你能否在这里分享一下你所做的细节呢?这将非常有帮助,不仅对我,对像我们一样的其他人也是如此。 - Craig Anderson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接