I am trying to generate formset which would look like this. formset output needed and then access formset data to put it into pandas dataframe for calculation that could be accessible in another python .py file. However, my code does not fetch any user input to me once I test it. Please advise what should be done to fix it?
views.py
from django.shortcuts import render
from django.http import HttpResponse
from django.http import HttpResponseRedirect
from django.shortcuts import render
from .forms import AssumptionsForm, AssumptionsFormSet
from django.forms import formset_factory
data_list = []
def index(request):
return HttpResponse("Hello, client. You're at the inputs page.")
def get_assumptions(request):
if request.method == 'POST':
formset = AssumptionsFormSet(request.POST)
if formset.is_valid():
for f in formset:
cd = f.cleaned_data
data1 = cd.get('bad')
data2 = cd.get('likely')
data3 = cd.get('best')
data_list.append(data1)
data_list.append(data2)
data_list.append(data3)
else:
formset = AssumptionsFormSet()
return render(request, 'assumptions.html', {'formset': formset})
assumptions.html
<form action="/analysis2/" method="post">
{% csrf_token %}
<table>
{% for form in formset %}
{{ form }}
{% endfor %}
</table>
<input type="submit" value="Submit" />
</form>
forms.py
from django import forms
from django.forms import formset_factory
class AssumptionsForm(forms.Form):
#title = forms.CharField()
bad = forms.FloatField()
likely = forms.FloatField()
best = forms.FloatField()
AssumptionsFormSet = formset_factory(AssumptionsForm, extra = 5)