0
我有一個帶有FileField的ModelForm等字段。我想在調用myform.save()時修改文件名以避免衝突(將6個隨機字符插入文件名)。在Django中做這件事的正確方法是什麼?在Django ModelForm中修改文件的文件名保存
我有一個帶有FileField的ModelForm等字段。我想在調用myform.save()時修改文件名以避免衝突(將6個隨機字符插入文件名)。在Django中做這件事的正確方法是什麼?在Django ModelForm中修改文件的文件名保存
你需要重寫你的模型的save
方法,不是你的窗體的。
class MyModel(models.Model):
# other fields
my_file = models.FileField(upload_to='uploaddir')
def save(self, *args, **kwargs):
new_name = 'file_name-random-chars.ext'
self.my_file.name = new_name
super(MyModel, self).save(*args, **kwargs)
你的ModelForm爲MyModel
將調用它的模型的保存方法,並伎倆。 希望它有助於:)
檢查http://stackoverflow.com/questions/10433440/how-to-change-the-filename-on-uploaded-file – okm