Я пытаюсь сгенерировать форму, которая бы выглядела следующим образом. Для вывода набора форм необходимо , а затем получить доступ к данным набора форм, чтобы поместить их в кадр данных Pandas для расчета, который может быть доступен в другом файле Python .py.Тем не менее, мой код не извлекает какой-либо пользовательский ввод, когда я его тестирую.Посоветуйте, пожалуйста, что нужно сделать, чтобы это исправить?
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)