[英]Rename file on upload to admin using Django
I have used a function in Django 1.6 to rename my files when they are uploaded through admin, but this does not work in Django 1.8. 通过admin上传文件时,我在Django 1.6中使用了一个函数来重命名我的文件,但这在Django 1.8中不起作用。 Anyone know if it is still possible to do this in 1.8?
有人知道在1.8中是否仍有可能吗?
class Entry(models.Model):
def path_and_rename(path):
def wrapper(instance, filename):
ext = filename.split('.')[-1]
# get filename
if instance.pk:
filename = "%s-%s.%s" % (instance.pub_date.year,instance.issue, ext)
else:
# set filename as random strin
filename = "%s.%s" % (uuid.uuid4(), ext)
# return the whole path to the file
return os.path.join(path, filename)
return wrapper
name = models.CharField(max_length=500)
pub_date = models.DateTimeField()
issue = models.PositiveIntegerField()
pdf = models.FileField(blank=True, upload_to=path_and_rename('uploads/pdf'))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.