Ho uno scenario che sto cercando di pianificare per iniziare la codifica e sto pensando di usare django wizard
.wizard django, utilizzando form e formset nello stesso passo
Il mio piano è di costruire un mago del django con due passaggi, il primo semplice ma il secondo un po 'più complicato. Il secondo passo conterrà un modulo che si rimodella in base al valore selezionato dal primo passaggio, che posso vedere io stesso a fare. Ho già esplorato tutte le funzionalità esistenti e penso che possa essere fatto facilmente.
La sfida che sto affrontando però è quella del secondo passo. Ho una forma e un formset, il formset è uno a molti da formare (Articolo -> Immagini) così quando si raggiunge il secondo passo l'utente sarà in grado di caricare una o più immagini nello stesso articolo.
Ho provato a cercare ovunque su google mailing lists e stackoverflow per passare un formset alla classe del wizard django ma sembra che non si possano passare due moduli nello stesso passo.
NewItemWizard.as_view([
('category', CategorySelectionForm),
('article', ArticleForm)
])
come si è visto, nel codice di esempio di cui sopra, vorrei poter passare sia ArticleForm e ImageFormset alla seconda fase. C'è un modo per farlo fuori dalla scatola?
Sulla base di ciò che sto leggendo, credo che l'utilizzo di una funzione come get_context_data potrebbe essere di aiuto, ma sarà molto hacky.
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
Chi può consigliare un approccio migliore?
Cheers,
Hai guardato [django-form-wizard ] (https://github.com/stephrdev/django-formwizard)? Supporta i formati. –