【问题标题】:Rename file on upload to admin using Django使用 Django 在上传到管理员时重命名文件
【发布时间】:2015-07-21 22:36:34
【问题描述】:

我在 Django 1.6 中使用了一个函数在通过管理员上传文件时重命名我的文件,但这在 Django 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'))

【问题讨论】:

标签: python django


【解决方案1】:

也许您需要使用fileField 更改文件上传方式。 这是link给你的。

当函数upload_file被调用时,你可以在这个函数中重命名文件。

【讨论】:

    猜你喜欢
    • 2018-07-24
    • 2023-01-13
    • 2017-05-12
    • 2014-10-28
    • 1970-01-01
    • 2020-05-19
    • 2011-11-03
    • 1970-01-01
    • 2019-08-27
    相关资源
    最近更新 更多