Html Django:多行表单未保存到数据库

Html Django:多行表单未保存到数据库,html,django,datatables,Html,Django,Datatables,我已经看过django文档和所有类似的问题,但我似乎无法理解 我有一个表格,以表格的形式(使用数据表)接受多个学生的多项考试分数 我基本上需要的是显示一个表,该表显示数据库中当前存在的值,但也允许编辑和保存。此外,尽管显示了整个表格,但只允许编辑部分表格单元格 在表中,学生的卷号来自数据库,但它们不会改变,所以我不会将它们传递给表单。问题是,即使没有任何错误,form.is\u valid()返回true,但form.save()不会将值保存到数据库中 我怀疑的是,它可能不知道它接收到的数据行的

我已经看过django文档和所有类似的问题,但我似乎无法理解

我有一个表格,以表格的形式(使用数据表)接受多个学生的多项考试分数

我基本上需要的是显示一个表,该表显示数据库中当前存在的值,但也允许编辑和保存。此外,尽管显示了整个表格,但只允许编辑部分表格单元格

在表中,学生的卷号来自数据库,但它们不会改变,所以我不会将它们传递给表单。问题是,即使没有任何错误,
form.is\u valid()
返回
true
,但
form.save()
不会将值保存到数据库中

我怀疑的是,它可能不知道它接收到的数据行的卷号,无法将其放入数据库中。我真的不知道这个错误。我们将非常感谢您的帮助。谢谢

已编辑 table.html


{%csrf_令牌%}
卷号
IT1
IT2
加利福尼亚州
平均值
学期
全部的
地位
{%mrk%中的标记为%mrk}
{{marks.student}}
{%endfor%}


好的,这是我的答案,请先像这样编辑您的视图

def markstable(request):
    template = 'table.html'
    form = MarklistForm(request.POST)
    if request.method == 'POST':
        if form.is_valid():
            form.save()
            return render(request, 'score/index.html')

        else:
            return render(request, 'score/index.html', {'error_message': 'Not Working'})
   else:
       form = MarklistForm()
       return render(request. 'score/index.html', {'form':form})

在模板中,您需要添加类似{%csrf_token%}{{form}的表单。出现该错误是因为html模板中没有有效的表单,还需要检查是否是post方法,如果是post方法,则保存模型中的更改,如果不是,则显示空表单。告诉我发生了什么

您能显示错误吗?您使用的是什么Django版本?没有显示错误。数据库值不会更新。我正在使用forms.Modelforms中的1.11.3版删除表单。在Django 1.11中,我们不需要放置表单。ModelForm只是ModelForm如果我只放置ModelForm,它会说-NameError:name'ModelForm'没有定义我正在使用数据表,所以我需要表。使用{{form}时,整个表格式是不可能的,它会显示一个空白屏幕。我尝试使用{{form.as_table}},但这会产生与{{form}相同的输出。问题是,您不需要添加csrsf标记和提交标记,但由于该部分不涉及将表单显示为表,所以我没有包含它。让我编辑代码。现在,请逐个处理元素,您不能只使用form.save()因为您有另一个不同于您的模型的表单,所以请使用a=request.POST['name of your label']获取每个表单的值,然后添加到模型b=model(field=a)b.save()我不明白…通过“元素”,您是指每个学生的IT1、IT2..(变量)还是记录?我的表格和模型不一样吗?…你能给我一段代码吗?.我现在真的迷路了。。