Jquery 使用django动态添加输入字段并将数据保存到数据库

Jquery 使用django动态添加输入字段并将数据保存到数据库,jquery,django,Jquery,Django,我想用自动递增的id(1,2,3…等)将多个数据保存到数据库中,而不是保存在同一列中。用户可以动态添加输入字段,最后单击submit按钮,以不同的id(自动递增的id)将数据保存到数据库中 我在单击按钮时对添加输入字段执行了HTML和J查询。但我不知道如何使用django将其存储在数据库中。我在view.py文件中没有执行任何存储操作 这是使用HTML和Jquery添加字段的代码: <html> <head> <script src="https://ajax.g

我想用自动递增的id(1,2,3…等)将多个数据保存到数据库中,而不是保存在同一列中。用户可以动态添加输入字段,最后单击submit按钮,以不同的id(自动递增的id)将数据保存到数据库中

我在单击按钮时对添加输入字段执行了HTML和J查询。但我不知道如何使用django将其存储在数据库中。我在view.py文件中没有执行任何存储操作

这是使用HTML和Jquery添加字段的代码:

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
   $(function(){
   var i =0;

  $('#adduser").click(function(){
      var AnswerHTML = "";
      AnswerHTML ='<div class="form-group" style="border: 1px solid;background-color: #ADD8E6">'
    +' <div class="col-xs-4"><input type="text" name="firstname'+i+'"> </input></div>'
    +' <div class="col-xs-4"><input type="text" name="age'+i+'">  </input></div>'
    +' <div class="col-xs-4"><input type="text" name="relation'+i+'"></input></div>'
    +'<i class="icon-trash" style="padding-left:20px;  cursor: pointer;"></i></div>';


  $('#divQuatationList').append(AnswerHTML);
  i++;
   $("#totallength").val(i);

 });
});
$(document).on("click",".icon-trash",function(e){

$(this).closest('.form-group').remove();
});
</script>

<body>
<div>
<p id='adduser' class='btn btn-info' >ADD</p>
</div>

<form class="form-horizontal row-border" action="{% url "Saveforms" %}" method="post">
<input type="hidden" id="totallength" name="totallength"  />
<div id="divQuatationList"></div>
<div class="col-md-12"><input type="submit" id="Submit" class="btn btn-info pull-right" value="SaveData"  />
</form>
</body>
</html>

 URL 

 url(r'^Saveforms/$', views.Saveforms, name='Saveforms'),


 Views

 def Saveforms(request):

 lenth =  request.POST['totallength']

 if request.POST:
    i = 0
    for index in range(i,int(lenth)):
        firstname =""
        age =""
        relation =""
        flag=0
        if 'firstname'+str(index) in request.POST:
            firstname= request.POST['firstname'+str(index)]
            flag = 1
        if 'age'+str(index) in request.POST:
            age= request.POST['age'+str(index)]
            flag = 1
        if 'relation'+str(index)  in request.POST:
            relation= request.POST['relation'+str(index)]         
            flag = 1

        if flag == 1: 

             UserName.objects.create(firstname=firstname,age=age,relation=relation)               

return HttpResponseRedirect("/dynamicform/Manageforms/")

$(函数(){
var i=0;
$('#adduser”)。单击(函数(){
var AnswerHTML=“”;
回答HTML=''
+'  '
+'   '
+' '
+'';
$(“#divquationlist”).append(AnswerHTML);
i++;
$(“#总长度”).val(i);
});
});
$(文档)。在(“单击“,”.icon垃圾箱”上,函数(e){
$(this).closest('.form group').remove();
});

添加

统一资源定位地址 url(r“^Saveforms/$”,views.Saveforms,name='Saveforms'), 意见 def存储表单(请求): lenth=request.POST['totallength'] 如有要求,请发送: i=0 对于范围(i,int(lenth))中的索引: firstname=“” 年龄=“” relation=“” 标志=0 如果request.POST中的'firstname'+str(索引): firstname=request.POST['firstname'+str(索引)] 标志=1 如果request.POST中的'age'+str(索引): 年龄=请求.职位['age'+str(索引)] 标志=1 如果request.POST中的“关系”+str(索引): 关系=请求.POST['relation'+str(索引)] 标志=1 如果标志==1: UserName.objects.create(firstname=firstname,age=age,relation=relation) 返回HttpResponseRedirect(“/dynamicform/Manageforms/”)
Id默认为自动递增字段。您需要预定义用户可以在您的模型中添加哪些文件。不建议将列添加到数据库取决于用户。如果您想从JS发送JSON数据并将其存储在数据库中,我建议您使用django rest framework。数据库中只存储了一行值。我已经更新了一些逻辑。同时使用打印检查要传递多少行