Django从ImageField更改图像的名称

2024-10-02 16:26:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我想改变一个图像的名称,将其重命名为门的颜色。在

这是我的代码

class Door(models.Model) :
    image = models.ImageField(upload_to='doors')
    color = models.ForeignKey(Color, on_delete=models.CASCADE)
    price = models.DecimalField(max_digits=10, decimal_places=2, default='119.99')

我看了很多东西,但还不知道怎么做。
如果你知道我问题的答案,请帮帮我。在


Tags: to代码图像image名称model颜色models
1条回答
网友
1楼 · 发布于 2024-10-02 16:26:15

你可以这样做:

def upload_location(instance, filename):
    filebase, extension = filename.split('.')
    return 'images/%s.%s' % (instance.color.name, extension)

class Color(models.Model):
    name = models.CharField(max_length=20)


class Door(models.Model) :
    image = models.ImageField(upload_to=upload_location)
    color = models.ForeignKey(Color, on_delete=models.CASCADE)
    price = models.DecimalField(max_digits=10, decimal_places=2, default='119.99')

相关问题 更多 >