我有一個場景,我試圖計劃開始編碼,我正在考慮使用django wizard
。django嚮導,使用窗體和formset在相同的步驟
我的計劃是用兩個步驟構建一個django嚮導,第一個簡單但第二個更復雜一點。第二步將包含一個表單,該表單將根據從第一步中選擇的值進行重新設置,我可以看到自己正在執行的操作。我已經探索了所有現有的功能,我認爲它可以輕鬆完成。
雖然我面臨的挑戰是在第二步本身。我有一個表單和一個formset,formset是一對多的表單(文章 - >圖像),所以當到達第二步時,用戶將能夠上傳一個或多個圖像到同一篇文章。
我試圖在谷歌郵件列表和stackoverflow上搜索每一處傳遞一個formset到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
任何人都可以建議更好的方法?
乾杯,
你看着[Django的表單嚮導](https://github.com/stephrdev/django-formwizard)?它支持formset。 –