问题背景我是 Django 新手。我正在尝试从客户端上传文件并保存它。
为此,我创建了以下模型。
from django.db import models
class UploadFile(models.Model):
uploadfile = models.FileField(upload_to='toProcess/')
我正在使用如下模型来保存文件。
newfile = UploadFile(uploadfile = request.FILES['file'])
newfile.save()
正在保存文件。但现在我想处理保存的文件。在 django 中,如果同名文件已经存在,那么它会在原始文件名中添加一些唯一的后缀。我对这种方法很满意,不想编写新方法来创建唯一的文件名。
问题-
如何获取 django 为文件计算的新的唯一名称?
意思是如果我将同一个文件上传两次,说“abc.pdf”,那么它将把第一个上传的文件保存为“abc.pdf”,第二个上传的文件保存为“abc_somesuffix.pdf”。如何知道保存的文件的名称是什么?
据我所知,文件名存储在name
模型字段的属性,在您的情况下
newfile.uploadfile.name
文件的路径存储在
newfile.uploadfile.path
请参阅官方Django文档供进一步参考,以及许多其他 SO 问答(例如this one)
如果您想采用自己的文件名格式,您可以在upload_to
模型场的参数,如在这里解释
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)