问题背景 我是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中,如果存在具有相同名称alreday的文件,则它会在原始文件名中添加一些唯一的后缀。我对这个approch感到满意,并且不想写一个新方法来创建一个唯一的文件名。
Probelm- 如何获取django为文件计算的新唯一名称?
意思是如果我上传同一个文件两次说“abc.pdf”那么它会将第一个上传的文件保存为“abc.pdf”,将第二个上传的文件保存为“abc_somesuffix.pdf”。如何知道保存文件的名称是什么?
答案 0 :(得分:1)
据我所知,文件名存储在模型字段的newfile.uploadfile.name
属性中,在您的情况下
newfile.uploadfile.path
并且文件的路径存储在
中upload_to
请参阅official Django文档以获取进一步参考,以及许多其他SO Q& A(例如this one)
如果您想采用自己的文件名格式,可以在模型字段的project1->success then trigger project2->success then trigger project3
参数中指定一个可调用的,explained here