Django: Список изображений пуст из dropzone при сохранении

Я пытался использовать мульти фото загрузки, что процесс работал. Но я использую dropzone.js, список файлов пуст。 Там мой код показан ниже.

models.py

class AssetImage(models.Model):
    asset = models.ForeignKey('Asset', related_name='images', on_delete=models.CASCADE)
    image = models.ImageField(upload_to='assets/')

forms.py

class AssetImageForm(forms.ModelForm):
    image = forms.FileField(label='', required=False, widget=forms.HiddenInput(attrs={'multiple': True}))

    class Meta:
        model = AssetImage
        fields = ['image']

views.py

def asset_create(request):
    show_modal = False
    if request.method == 'POST':
        form = AssetForm(request.POST)
        image_form = AssetImageForm(request.POST, request.FILES)
        files = [request.FILES.get(f'image[{i}]') for i in range(0, len(request.FILES))]
        print(files)  # Get the list of files
        print("here")
        if form.is_valid() and image_form.is_valid():
            name = form.cleaned_data['name']
            if Asset.objects.filter(name=name).exists():
                show_modal = True
            else:
                asset = form.save()
                for f in files:
                    AssetImage.objects.create(asset=asset, image=f)
                return redirect('asset')
    else:
        form = AssetForm()
        image_form = AssetImageForm()

    locations = Location.objects.all()
    return render(request, 'pages/asset/asset_create.html', {
        'form': form,
        'image_form': image_form,
        'locations': locations,
        'show_modal': show_modal
    })

asset_create.html

  <!-- [ Main Content ] start -->
<div class="row">
  <div class="col-sm-12">
    <div class="card">
      <div class="card-header">
        <h5>Add Asset</h5>
      </div>
      <div class="card-block">
        <form method="post" enctype="multipart/form-data" class="needs-validation" novalidate>
            {% csrf_token %}
            <!-- Other form fields -->
            <div class="form-group">
                <label for="id_name">{{ form.name.label }}</label>
                {{ form.name }}
            </div>
            <div class="form-group">
              <label for="serialnumber">Serial Number</label>
              {{ form.serialnumber }}
          </div>
            <div class="form-group">
                <label for="id_location2">Location</label>
                {{ form.location }}
            </div>
            <div class="form-group">
              <label for="id_model">Model</label>
              {{ form.model }}
          </div>
          <div class="form-group">
            <label for="id_images">Images</label>
            <div class="dropzone" id="dropzoneForm"></div>
        </div>
            <button type="submit" class="btn btn-outline-primary">Save</button>
        </form>
      </div>
    </div>
  </div>
</div>

<script>
  // Prevent Dropzone from auto initializing
  Dropzone.autoDiscover = false;
  
  // Initialize Dropzone
  $(document).ready(function () {
    var myDropzone = new Dropzone("#dropzoneForm", {
      url: "{% url 'asset_create' %}", // Make sure this is the correct URL for your asset creation view
      paramName: "image", // This should match the key expected in request.FILES
      maxFilesize: 10, // MB
      parallelUploads: 20,
      uploadMultiple: true,
      addRemoveLinks: true,
      timeout: 50000,
      acceptedFiles: 'image/*', // Accept images only
      autoProcessQueue : true,
  
      // Set up CSRF token for Django
      headers: {
          "X-CSRFToken": "{{ csrf_token }}"
      },
  
      // Additional event listeners if needed
      init: function() {
        this.on('success', function(file, response) {
          // Handle the response from the server
        });
        this.on('error', function(file, response) {
          // Handle the error
        });
      }
    });
  });
  </script>

Когда изображение загружено на dropzone, список файлов показывает изображение в списке.

Но когда я нажимаю кнопку сохранения, появляется пустой список.

Вернуться на верх