Javascript Django不带表单使用Ajax上传多个文件
我在Django 2.0中有一个应用程序,其中一个用户可以同时上传他们毕业证书的多个图像,但我还需要使用ajax来实现这一点,这样页面就不会重新加载 这是我的型号。pyJavascript 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)
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');
}
});
}
}