Chciałbym renderować każdą formę zestawu formularzy w różnych zakładkach bootstrap3 za pomocą django-crispyForms, ale wydaje się to nie być proste, ponieważ funkcja crispyForms nie obsługuje kompletnego zestawu jeszcze.Django CrispyForms - Renderowanie każdej formy zestawu w osobnych zakładkach ładowania początkowego
moja 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',
)
)
)
mój widok:
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))
mój szablon crispyForms:
{% load crispy_forms_tags %}
<form method="post" action="" encrypt="multipart/form-data">{% csrf_token %}
{% crispy formset helper %}
</form>
Tam jest kilka informacji o tym crispyForm formset contraint:
- django crispy forms: Nesting a formset within a form
- related issue
- crispyForm tab and tab holder doc
prostu pętli formularzy w formset i nazywają crisy użytkownika zamiast tego użyj renderera. wystarczy zawinąć/stworzyć kod kart wewnątrz forloopa. –
tak, byłoby wspaniale mieć chrupiący szablon. Jeśli ktoś może stworzyć taki szablon, otworzę nagrodę za to jutro. –