2017-04-06 32 views
1

我想保存多个数据与自动递增的ID(1,2,3 ...等),数据库将数据保存到数据库,而不是在同一列。用户可以动态添加输入字段,最后单击提交按钮将数据保存在数据库中,每个数据库都有不同的ID(自动递增的ID)。动态添加输入字段和使用Django

我做了HTML和J查询添加输入字段时,单击button.But我没有任何想法使用django.I什么也没做,我view.py文件来存储这些存储在数据库。

enter image description here 这是使用HTML和jQuery

+0

标识的自动递增领域。您需要预先定义用户可以在模型中添加哪些文件。不建议向数据库添加列是依赖于用户的。如果您想从JS发送JSON数据并将其存储在数据库中,我建议您使用django rest框架。 – giaco

回答

2

HTML添加字段代码:默认情况下

<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/") 
+0

只有一行值存储在数据库中。 – malarvz

+0

我已经更新了一些logic.also许多行如何通过 – ketanmodi

+0

请评价我的观点打印检查 – ketanmodi