I've trying to style each form in modelformset_factory. But I couldn't do even if I used a table, its unable to save the last (empty form)
Here is my view function
from django.shortcuts import render
from django.forms import modelformset_factory
from .models import Offer
def offer_forms(request):
OfferFormSet = modelformset_factory(Offer, fields=('name', 'url', 'image', 'active'))
formset = OfferFormSet()
if request.method == 'POST':
formset = OfferFormSet(request.POST, request.FILES)
if formset.is_valid():
instances = formset.save(commit=False)
for form in instances:
form.save()
formset = OfferFormSet()
context = {
'formset': formset,
}
return render(request, 'offers.html', context)
Here is my Html file:
{% extends 'base.html' %}
<style media="screen">
*{
box-sizing: border-box;
}
</style>
{% block content %}
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
{{ formset.management_form }}
<table class="table table-stripped">
{% for form in formset %}
<tr>
<td>
{{ form }}
</td>
</tr>
<td>
<input type="submit" value="Submit" class="btn btn-sm btn-primary">
</td>
{% endfor %}
</table>
</form>
{% endblock content %}