0

所以我想创建一个包含教育部分的成员表单,其中包含 3 个元素:

Academic_Background的外键(具有高中,学士学位,硕士学位等),

查菲尔德 - 学校名称

查菲尔德 - 研究领域

做一两个没问题...但是我怎样才能创建几个“教育”字段(通过添加一个“添加另一个”按钮并使用 JS&Jquery 向用户显示新的教育。

我应该在我的模型和表格中放入什么?它将如何保存在数据库中?

这似乎是以前可能发生在某人身上的事情,但我找不到解决方案......

请帮忙 !

谢谢

4

1 回答 1

0

我在没有使用 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')
于 2013-09-02T14:05:35.497 回答