我有一个 Django 应用程序,它提交一个包,应该返回其中的值。将表单提交到一个名为“插入”的视图:
request.FILES['file']
返回文件对象,但它是一种 <InMemoryUploadedFile>。我需要的是一种获取上传文件的绝对路径的方法,这样我就可以将它提供给一个返回所需值的方法
有谁知道我怎么能做到这一点?
谢谢
我有一个 Django 应用程序,它提交一个包,应该返回其中的值。将表单提交到一个名为“插入”的视图:
request.FILES['file']
返回文件对象,但它是一种 <InMemoryUploadedFile>。我需要的是一种获取上传文件的绝对路径的方法,这样我就可以将它提供给一个返回所需值的方法
有谁知道我怎么能做到这一点?
谢谢
当然,“InMemory”这个名字是文件只存在于内存中的线索,所以没有路径吗?
丹尼尔罗斯曼在上下文中是正确的。.create(...)
但是,如果您已经使用or将对象创建/插入到数据库中obj.save()
。可以使用 检索图像的路径obj.<field_name>.name
。例子:
假设您有一个带有图像字段的模型。
my_image = models.ImageFiled(upload_to='my_upload_dir')
所以,
obj = ImageModel.objects.create(image=request.FILES['image']) # let's insert it to db
image_path = obj.image.name
# will return
'my_upload_dir/myimagename.jpg'