所以我想创建一个包含教育部分的成员表单,其中包含 3 个元素:
Academic_Background的外键(具有高中,学士学位,硕士学位等),
查菲尔德 - 学校名称
查菲尔德 - 研究领域
做一两个没问题...但是我怎样才能创建几个“教育”字段(通过添加一个“添加另一个”按钮并使用 JS&Jquery 向用户显示新的教育。
我应该在我的模型和表格中放入什么?它将如何保存在数据库中?
这似乎是以前可能发生在某人身上的事情,但我找不到解决方案......
请帮忙 !
谢谢
我在没有使用 django 表单的情况下做到了这一点.. 只是使用 html 表单上传多个用户希望的多个..
这是我的 template.html 文件,它具有正常形式,最初没有任何输入文件字段
单击“添加新项目”href时,js方法会向表单添加一个新的输入文件字段
<form action="{{request.path}}" method="post" enctype="multipart/form-data" id="upload_form">
{%csrf_token%}
<input type="text" name="name" id="name" value="{{request.POST.name}}" placeholder="Person Name"/>
<input type="text" name="categorie" id="categorie" value="{{request.POST.categorie}}" placeholder="Categorie"/>
<div class="file_inputs" id="file_inputs">
<!-- <-- field where im adding multiple files initially empty -->
</div>
<input type="submit" value="Upload">
</form>
<!-- link to add new file input box when clicked on it -->
<a href="#" onClick="addformelement()" >add new item</a>
<script type="text/javascript">
// method to add an file input box when clicked on add new item link
function addformelement(){
a = document.getElementById('file_inputs')
divx=document.createElement('div')
divx.class='file_inputs'
x=document.createElement('input');
x.type='file';
x.name='docfile';
divx.appendChild(x);
a.appendChild(divx) ;
}
</script>
在意见中我这样做了
if request.method == 'POST':
name_instance = get_name_instance(request)
if(name_instance == -1):
return HttpResponse("Error - Check Server logs")
for f in request.FILES.getlist('docfile'):
# do your logic for each file f
# as f.name to get filename ...
我所有的文件输入都具有与 docfile 相同的 id ...
所以在我看来我叫 getlist('docfile')
你可以对普通数据做同样的事情,比如
request.POST.getlist('idname')