如何在 Django 中使用 upload_to 指定目录和函数

how to specify a directory and a function with upload_to in django

我有 2 款车型和配置文件:

class Car(models.Model):
    name = models.CharField(max_length=200)
    image_file = models.ImageField(upload_to=naming, null=True, blank=True)

class Profile(models.Model):
    name = models.CharField(max_length=200)
    image_file = models.ImageField(upload_to='profiles', null=True, blank=True)

我需要命名功能,但我也希望上传的文件位于cars文件夹中,而不仅仅是media目录中。

有什么方法可以将它们上传到该文件夹​​并调用该函数吗? 在 doc 中,我只能找到一种方法,但不能同时找到两种方法。

提前致谢!

不明白什么叫同时上传和调用函数,但是确实调用了函数,否则不会产生任何路径。对于您的第一个问题,您可以执行以下操作:

def naming(instance, file_name):                                                 
    model_name = instance.__class__.__name__
    return os.path.join(model_name, file_name)