如何使用 jquery 和 Ajax 将多个文件字段保存到 django

Posted

技术标签:

【中文标题】如何使用 jquery 和 Ajax 将多个文件字段保存到 django【英文标题】:How to save multiple file fields to django using jquery and Ajax 【发布时间】:2016-10-29 12:02:01 【问题描述】:

我正在尝试将多个文件字段保存到服务器。字段字段是动态的,我们可以使用添加按钮上传任意数量的文件。我不想使用表单提交或 dropzone。任何人都可以请帮助我如何做到这一点。

    <div class="row" id="point_of_interest">  
         <div class="col-lg-4 ">            
             <label>Point of Interest Name</label>
             <input type="text" name="point_of_interest_name"  class="form-control interest_name" >
             <label class="error"  style="color:red; display:none;"></label>
         </div>
        <div class="col-lg-4 ">            
             <label>Upload Image</label>
             <input  type="file" accept="image/*" name="point_of_interest_image[]" class="poi_img form-control" placeholder="Upload image" >
        </div>
        <div class="col-lg-4 ">            
            <div class="form-group">
                 <a class="fa fa-plus-circle fa-lg add_point_of_interest"  style="margin-top:33px;" ></a> 
            </div>
        </div>
    </div>

以上 html 用于动态添加表单字段

    $('#point_of_interest').find('input[type=file]').each(function (index,val) 

        var city_image = $(this).prop(files)[0]; 
    console.log(city_image); 
    point_of_interest_image_list.push(city_image);

    );

上面的jquery代码是用来收集多个对象的

    @csrf_exempt
    def save_city_data(request):
    try:
       print '=====request========',request.POST
       print      '=====request========',request.FILES.getlist('point_of_interest_image_list')

使用上面的代码我得到所有文件的列表

【问题讨论】:

【参考方案1】:

您可以使用 Jquery 文件上传插件

【讨论】:

以上是关于如何使用 jquery 和 Ajax 将多个文件字段保存到 django的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 AJAX/JQuery 调用多个 PHP 脚本?

如何将一个 ajax 数据源与多个 JQuery 数据表一起使用

如何使用 Ajax、PHP 和 JQuery 检查多个输入复选框?

Django - 如何使用 JQuery Ajax 插入多个表单数据

如何使用多个 Django FBV 通过 Ajax+jQuery 捕获和保存数据

如何在不刷新网页的情况下使用 ajax 和 jquery 动态更改 Datatables 的多个列标题?