django向导,在同一步骤中使用表单和表单集

django向导,在同一步骤中使用表单和表单集,django,django-forms,django-formwizard,Django,Django Forms,Django Formwizard,我有一个场景,我正试图开始编码,我正在考虑使用django向导 我的计划是用两个步骤构建一个django向导,第一个步骤简单,但第二个步骤稍微复杂一些。第二步将包含一个表单,该表单将根据从第一步中选择的值进行重塑,我可以看到自己正在这样做。我已经探索了所有现有的功能,我认为它可以很容易地完成 不过,我面临的挑战是第二步本身。我有一个表单和一个表单集,表单集是一对多的表单(文章->图片),所以当到达第二步时,用户将能够上传一个或多个图片到同一篇文章 我试着在google邮件列表和stackover

我有一个场景,我正试图开始编码,我正在考虑使用
django向导

我的计划是用两个步骤构建一个django向导,第一个步骤简单,但第二个步骤稍微复杂一些。第二步将包含一个表单,该表单将根据从第一步中选择的值进行重塑,我可以看到自己正在这样做。我已经探索了所有现有的功能,我认为它可以很容易地完成

不过,我面临的挑战是第二步本身。我有一个表单和一个表单集,表单集是一对多的表单(文章->图片),所以当到达第二步时,用户将能够上传一个或多个图片到同一篇文章

我试着在google邮件列表和stackoverflow上到处搜索,以便将一个表单集传递给django向导类,但似乎不能在同一步传递两个表单

NewItemWizard.as_view([
    ('category',    CategorySelectionForm),
    ('article',        ArticleForm)
])
如图所示,在上面的示例代码中,我希望能够将ArticleForm和ImageFormset都传递到第二步。有没有一种开箱即用的方法

根据我所阅读的内容,我相信使用像get_context_data这样的函数会有所帮助,但这将是非常困难的

def get_context_data(self, form, **kwargs):
    context = super(NewItemWizard, self).get_context_data(form=form, **kwargs)
    if self.steps.current == 'article':
        context.update({
            'image_formset': ImageFormset()
        })
    return context
有人能建议一个更好的方法吗


干杯,

现在还没有直接的API来实现这一点,但是有一个干净的解决方案,就像这里提到的:

你看过吗?它支持表单集。这种方法的优点在于,您不仅可以将其用于向导,还可以用于
generic view
,例如
FormView
。每个人都应该检查这个。
FormContainer
绝对值得成为Django框架的一部分!