def sponsor_detail(request, pk): sponsor = get_object_or_404(Sponsor, pk=pk) if not sponsor.active or sponsor.applicant != request.user: return redirect("sponsor_list") formset_kwargs = { "instance": sponsor, "queryset": SponsorBenefit.objects.filter(active=True) } if request.method == "POST": form = SponsorDetailsForm(request.POST, instance=sponsor) formset = SponsorBenefitsFormSet(request.POST, request.FILES, **formset_kwargs) if form.is_valid() and formset.is_valid(): formset.save() form.save() messages.success(request, "Your sponsorship application has been submitted!") return redirect(request.path) else: form = SponsorDetailsForm(instance=sponsor) formset = SponsorBenefitsFormSet(**formset_kwargs) return render_to_response("sponsorship/detail.html", { "sponsor": sponsor, "form": form, "formset": formset, }, context_instance=RequestContext(request))