Python 多文件上传django

Python 多文件上传django,python,django,django-forms,multifile-uploader,Python,Django,Django Forms,Multifile Uploader,我知道如何在djnago中上传多个文件。我使用: <form enctype="multipart/form-data" action="" method="post"> {% csrf_token %} <p>Press control to upload more than image at same time</p> <input type="file" name="myfiles" multiple> <

我知道如何在djnago中上传多个文件。我使用:

<form enctype="multipart/form-data" action="" method="post">
    {% csrf_token %}
    <p>Press control to upload more than image at same time</p>
    <input type="file" name="myfiles" multiple>
    <input type="submit" name="upload" value="Upload">
</form>

{%csrf_令牌%}
按control可同时上载多个图像


但我想要的是一个单一的文件上传,但允许用户点击一个“+”按钮并自动创建一个新的文件上传,允许用户上传多个文件。就像在hotmail中附加文件一样。

您正在寻找一个
表单集
——一组多个表单,以及一些用于填充新表单的JavaScript

以下是对JS代码的一些参考,这些代码将帮助动态构建新表单的HTML:


设置表单集很容易(到处都有文档记录),但您可能需要JS部分的帮助:

实际上,我使用不同的方法来动态添加表单。我使用
formset.empty\u form
设置了一个隐藏的div,它的属性中带有易于替换的
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuue>es:

var form_count = {{ formset.total_form_count }};
$('#add_form').click(function() {
    var form = $("#empty_form").html().replace(/__prefix__/g, form_count);
    $('#forms').append(form);
    form_count++;
    $('#id_form-TOTAL_FORMS').val(form_count);
});


<div id="empty_form" style="display:none;">
    {{ formset.empty_form.as_p }}
</div>
<div id="add_form">Add another form</div>
<form id="forms">
    {{ formset.management_form }}
    {% for form in formset %}
        {{ form.as_p }}
    {% endfor %}
</form>
var form_count={{formset.total_form_count};
$(“#添加表单”)。单击(函数(){
var form=$(“#empty_form”).html();
$('表格')。附加(表格);
form_count++;
$('id#form-TOTAL_FORMS').val(表格计数);
});
{{formset.empty_form.as_p}
添加另一个表单
{{formset.management_form}
{formset%中表单的%s}
{{form.as_p}}
{%endfor%}

您正在寻找一个
表单集
——一组多个表单,以及一些用于填充新表单的JavaScript

以下是对JS代码的一些参考,这些代码将帮助动态构建新表单的HTML:


设置表单集很容易(到处都有文档记录),但您可能需要JS部分的帮助:

实际上,我使用不同的方法来动态添加表单。我使用
formset.empty\u form
设置了一个隐藏的div,它的属性中带有易于替换的
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuue>es:

var form_count = {{ formset.total_form_count }};
$('#add_form').click(function() {
    var form = $("#empty_form").html().replace(/__prefix__/g, form_count);
    $('#forms').append(form);
    form_count++;
    $('#id_form-TOTAL_FORMS').val(form_count);
});


<div id="empty_form" style="display:none;">
    {{ formset.empty_form.as_p }}
</div>
<div id="add_form">Add another form</div>
<form id="forms">
    {{ formset.management_form }}
    {% for form in formset %}
        {{ form.as_p }}
    {% endfor %}
</form>
var form_count={{formset.total_form_count};
$(“#添加表单”)。单击(函数(){
var form=$(“#empty_form”).html();
$('表格')。附加(表格);
form_count++;
$('id#form-TOTAL_FORMS').val(表格计数);
});
{{formset.empty_form.as_p}
添加另一个表单
{{formset.management_form}
{formset%中表单的%s}
{{form.as_p}}
{%endfor%}

如何访问每个表单集的文件名?@Jacinto for formset中的表单;form.cleaned_data['my_file_field']如何访问每个表单集的文件名?@Jacinto for formset中的表单;form.cleaned_data['my_file_field']