Python Django访问表单集数据并放入数据帧

Python Django访问表单集数据并放入数据帧,python,django,pandas,formset,Python,Django,Pandas,Formset,我正在尝试生成如下所示的表单集。然后访问表单集数据,将其放入pandas dataframe中进行计算,该计算可以在另一个python.py文件中访问。但是,我的代码在测试后不会获取任何用户输入。请告知应采取什么措施来修复它 视图.py from django.shortcuts import render from django.http import HttpResponse from django.http import HttpResponseRedirect f

我正在尝试生成如下所示的表单集。然后访问表单集数据,将其放入pandas dataframe中进行计算,该计算可以在另一个python.py文件中访问。但是,我的代码在测试后不会获取任何用户输入。请告知应采取什么措施来修复它

视图.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})
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)
假设.html

    <form action="/analysis2/" method="post">
    {% csrf_token %}
    <table>
    {% for form in formset %}
        {{ form }}
    {% endfor %}
    </table>
    <input type="submit" value="Submit" />
    </form>

如文档中所述,为了在视图中使用表单集,您需要在表单中包含formset.management\u表单。以下是文档中的示例:

<form method="post">
    {{ formset.management_form }}
    <table>
        {% for form in formset %}
        {{ form }}
        {% endfor %}
    </table>
</form>

{{formset.management_form}
{formset%中表单的%s}
{{form}}
{%endfor%}
下面是如何使用表单集的一个很好的示例:
熊猫部分与您之前发布的主题相同

谢谢!这很有帮助。然而,我仍然难以创建6x6表,我想让客户输入。此外,我希望在同一页上有许多这样的表格。我尝试内联表单集工厂,但遇到了问题,我得到的唯一输出是相同的表3x1重复5次,而不是一个表6x6。我也将非常感谢关于这个问题的任何想法。谢谢。一个表单集基本上就是在一个表中添加行,所以你的表单有六个字段,你的表单只有三个字段:坏的、可能的和最好的。你可以做一些坏的、坏的、可能的、可能的、最好的和最好的事情。如果你想让它们有相同的标签,比如bad和bad,而不是bad和bad1,你必须编辑init,如下所示