Python 如何在django中获取上载的文件名
问题背景 我是django的新手。我正在尝试从客户端上传文件并保存它。 对于这个问题,我创建了以下模型Python 如何在django中获取上载的文件名,python,django,Python,Django,问题背景 我是django的新手。我正在尝试从客户端上传文件并保存它。 对于这个问题,我创建了以下模型 from django.db import models class UploadFile(models.Model): uploadfile = models.FileField(upload_to='toProcess/') 我使用这个模型来保存文件,如下所示 newfile = UploadFile(uploadfile = request.FILES['file']) new
from django.db import models
class UploadFile(models.Model):
uploadfile = models.FileField(upload_to='toProcess/')
我使用这个模型来保存文件,如下所示
newfile = UploadFile(uploadfile = request.FILES['file'])
newfile.save()
它正在保存文件。但现在我想处理保存的文件。在django中,如果存在具有相同名称alreday的文件,那么它将向原始文件名添加一些唯一的后缀。我对这种方法很满意,不想编写新方法来创建唯一的文件名
问题-
如何获得django为文件计算的新的唯一名称
意思是说,如果我上传同一个文件两次,比如说“abc.pdf”,那么它会将第一个上传的文件保存为“abc.pdf”,第二个上传的文件保存为“abc_somesuffix.pdf”。如何知道已保存文件的名称?据我所知,在您的情况下,文件名存储在模型字段的
name
属性中
newfile.uploadfile.name
文件的路径存储在
newfile.uploadfile.path
请参阅文件以供进一步参考,以及许多其他SO Q&A(例如)
如果您想采用自己的文件名格式,可以在模型字段的
upload_to
参数中指定一个可调用的文件名,因为newfile.uploadfile.name
work?@Pynchia-是。它起作用了。。谢谢:)