Django/Python:在保存fi之前更改上载的文件名

2024-04-25 22:53:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个用户可以上传图片的网站。我需要确保每个文件名都有一个唯一的名称,以防止文件相互覆盖。我将生成唯一的名称。但是如何在保存文件之前更改文件名?我知道有很多方法可以改变它保存到的文件夹,但这并不是我想要的。

class saved_photos(models.Model):
    name = models.CharField(max_length=20) 
    photo = models.ImageField(upload_to='images/things/', blank=True, null=True)

在我的代码中:

new_name = get_unique_name()
p = saved_photos(name = new_name, photo = request.FILES)
p.save()

我需要保存的文件的实际名称是新名称。


Tags: 文件方法用户name文件夹名称truenew
2条回答

您需要定义^{}函数。

Django可以正确处理唯一的文件名。重复的文件名将自动重命名。 如果要手动设置文件名,只需像DrTyrsa所说的那样定义upload_to函数。This question可能对你有帮助。

相关问题 更多 >