Javascript Django不带表单使用Ajax上传多个文件

Javascript Django不带表单使用Ajax上传多个文件,javascript,python,ajax,django,image-uploading,Javascript,Python,Ajax,Django,Image Uploading,我在Django 2.0中有一个应用程序,其中一个用户可以同时上传他们毕业证书的多个图像,但我还需要使用ajax来实现这一点,这样页面就不会重新加载 这是我的型号。py class diploma(models.Model): user = models.ForeignKey(user, on_delete=models.CASCADE, null=True) diploma=models.ImageField(default='nopic.png', null=True)

我在Django 2.0中有一个应用程序,其中一个用户可以同时上传他们毕业证书的多个图像,但我还需要使用ajax来实现这一点,这样页面就不会重新加载

这是我的型号。py

class diploma(models.Model):
    user = models.ForeignKey(user, on_delete=models.CASCADE, null=True)
    diploma=models.ImageField(default='nopic.png', null=True)
    def __str__(self):
        return self.diploma
这是我在模板中的文件输入upload.html

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<input type="file" id="images" name="images[]" multiple accept="image/jpg,image/png,image/jpeg,image/gif">
<a onclick="uploadWithAjax()"> Upload Images </a>
我想我必须在ajax的“数据”属性中发送“文件”变量,但我不确定,因为存在文件和非正常输入。请帮忙

这是我的ajax.py文件,我在其中接收图像

def UploadImages(request):
  diplomas = request.FILES['images'] #I don't know if this is correct
我没有完成查看,因为我不知道如何继续,也不知道如何在bd表中为我上传的每个图像创建一个寄存器。请帮忙

function uploadWithAjax() {
  var files = $('#images').prop("files");
  if(files.length > 0) {
      $.ajax({
         type: "POST",
         url: "/UploadImages/",
         data: {"images": files}
         success: function(result) {
             alert('IMAGES UPLOADED');
         }
      });
  }
}
在这里,您刚刚传递了一个图像文件列表。

我认为这可以帮助您:
function uploadWithAjax() {
  var files = $('#images').prop("files");
  if(files.length > 0) {
      $.ajax({
         type: "POST",
         url: "/UploadImages/",
         data: {"images": files}
         success: function(result) {
             alert('IMAGES UPLOADED');
         }
      });
  }
}