Python 如何在django中指定带有upload_to的目录和函数
我有两种车型和配置文件:Python 如何在django中指定带有upload_to的目录和函数,python,django,image-upload,file-storage,Python,Django,Image Upload,File Storage,我有两种车型和配置文件: 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 = m
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)
我需要命名功能,但我也希望上传的文件是在文件夹车,而不仅仅是在媒体目录
有没有办法将它们上传到那个文件夹并调用那个函数?
在过去,我只能找到一种方法,但不能找到两种方法
提前谢谢 我不明白同时上传和调用函数是什么意思,但函数确实被调用了,否则它不会生成任何路径。对于第一个问题,您可以执行以下操作:
def naming(instance, file_name):
model_name = instance.__class__.__name__
return os.path.join(model_name, file_name)
现在,我上传的个人资料图片将保存在
media/profiles
中,我上传到车上的图片将上传到media
中,但我希望它在media/cars
中。如果我使用你的,它会像那样存储,但是它不在数据库中。如果我打印instance.image\u file.path我仍然可以看到旧的文件夹结构/media/myfile.png