Vorrei rendere ogni form di un formset in una diversa scheda bootstrap3 usando django-crispyForms, ma non sembra semplice perché crispyForms non gestisce completamente il formset ancora.Django CrispyForms - Rendering di ogni forma di un formset in schede di bootstrap separate
mia forma:
class BlogMessageForm(forms.ModelForm):
class Meta:
model = BlogMessage
fields = ['field1', 'field2', ]
class BlogMessageFormsetHelper(FormHelper):
def __init__(self, *args, **kwargs):
super(BlogMessageFormsetHelper, self).__init__(*args, **kwargs)
self.form_tag = False
self.layout = Layout(
TabHolder(
Tab('Form%s' % (form.pk),
'field1', 'field2', 'DELETE',
)
)
)
mio punto di vista:
def all_blogs_messages_in_bootstrap_tab(request):
all_blog_messages = BlogMessage.objects.all()
blogMessageForm = modelformset_factory(BlogMessage, form=BlogMessageForm, extra=1, can_delete=True)
formset = blogMessageForm(queryset=all_blog_messages)
helper = BlogMessageFormHelper()
render_to_response("blogs/blogMessage_forms.html", {'formset': formset, 'helper': helper}, context_instance=RequestContext(request))
mio modello crispyForms:
{% load crispy_forms_tags %}
<form method="post" action="" encrypt="multipart/form-data">{% csrf_token %}
{% crispy formset helper %}
</form>
Eccola alcune informazioni su che contraint crispyForm formset:
- django crispy forms: Nesting a formset within a form
- related issue
- crispyForm tab and tab holder doc
proprio ciclo attraverso le forme del formset e chiamare Crisy di modulo di rendering invece. hai solo bisogno di avvolgere/creare il codice delle schede all'interno di forloop. –
sì, sarebbe bello avere un modello croccante per farlo. Se qualcuno può creare tale modello, aprirò un premio per quello domani. –