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