相关疑难解决方法(0)

Django:如何在FileField中保存原始文件名?

我希望文件名是随机的,因此我使用upload_to函数返回一个随机文件名,如下所示:

from uuid import uuid4
import os
def get_random_filename(instance, filename):
    ext = filename.split('.')[-1]
    filename = "%s.%s" % (str(uuid4()), ext)
    return os.path.join('some/path/', filename)

# inside the model
class FooModel(models.Model):
    file = models.FileField(upload_to=get_random_filename)
Run Code Online (Sandbox Code Playgroud)

但是我想将原始文件名保存到模型内的属性中.这样的东西不起作用:

def get_random_filename(instance, filename):
    instance.filename = filename
    ext = filename.split('.')[-1]
    filename = "%s.%s" % (str(uuid4()), ext)
    return os.path.join('some/path/', filename)

# inside the model
class FooModel(models.Model):
    file = models.FileField(upload_to=get_random_filename)
    filename = models.CharField(max_length=128)
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

谢谢.

python django

12
推荐指数
1
解决办法
5103
查看次数

标签 统计

django ×1

python ×1