簡體   English   中英

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

[英]Django / Python : Change uploaded filename before saving file

我正在創建一個用戶可以上傳圖片的網站。 我需要確保每個文件名都有一個唯一的名稱,以防止文件相互覆蓋。 我將生成唯一的名稱。 但是如何在保存文件之前更改文件名? 我發現有一些方法可以更改保存到的文件夾,但這並不是我所追求的。

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()

我需要的是保存文件的實際名稱是new_name。

您需要定義upload_to函數。

Django可以正確處理唯一的文件名。 重復的文件名將自動重命名。 如果你想手動設置文件名,只需定義upload_to函數,如DrTyrsa所說。 這個問題可以幫到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM