在Django中同时上传多个文件

时间:2018-04-11 04:44:32

标签: django django-models django-forms

form.html
{% for fields in form %}
   <div class="control-group">
   <label class="control-label" for="{{ field.id_for_label }}"> 
   {{fields.label}}</label>
   <div class="controls">
   {{fields}}
   {% if fields.label == 'Photo' %}
    <br>
    <p></p>
    <button type="button" class="btn btn-primary success" 
    id="add_new_file">+ Add Another File</button>
  {% endif %}
  </div>
  </div>
<script>
    $("#add_new_file").click(function(){
        $("p").append('<input type="file"><br>');
    });
</script>

enter image description here

对于每次单击+添加另一个文件按钮,添加了另一个输入文件选项。在这里我使用模型表单插入到数据库中。第一个是加法器到数据库中,但我怎样才能同时添加多个照片或其他类型的文件。

views.py

if request.method == 'POST':
    form_values = Registration_Form(request.POST, request.FILES)

    multiple_files = request.POST
    print(multiple_files)
    for file in multiple_files:
        print(file)

    if form_values.is_valid():
        data = form_values.save(commit=False)



        password = data.password.encode('utf-8')
        password = hashlib.sha256(password).hexdigest()
        data.password = password

        activation_code = str(random.randrange(0, 999999))
        data.activation_code = activation_code

        data.save()

1 个答案:

答案 0 :(得分:1)

假设您需要将文件盲目保存到存储(项目目录)并且没有模型关系。

(loc, v)::(y, z)::yzs


这将从`request.FILES

写入/创建项目目录中的新文件