使用pythonshell,如何将图像与类(Django)中的ImageField相关联

使用pythonshell,如何将图像与类(Django)中的ImageField相关联,python,django,python-2.7,model,pillow,Python,Django,Python 2.7,Model,Pillow,好的,我在一个叫做学院的模型中添加了一个字段 以下是新字段: logo = models.ImageField(upload_to="logos", default="static/images.default.png") 因此,我的媒体文件夹中有一些图像,但如何将它们与类中的某些图像相关联 我会说Harvard.logo=? 会吗?是图像路径。图像路径到底是什么?使用枕头。类型的ImageField的地址从MEDIA\u ROOT路径开始,然后是在upload\u to参数中确定的目录,也在

好的,我在一个叫做学院的模型中添加了一个字段

以下是新字段:

logo = models.ImageField(upload_to="logos", default="static/images.default.png")
因此,我的媒体文件夹中有一些图像,但如何将它们与类中的某些图像相关联

我会说
Harvard.logo=?


会吗?是图像路径。图像路径到底是什么?使用枕头。

类型的
ImageField的地址从
MEDIA\u ROOT
路径开始,然后是在
upload\u to
参数中确定的目录,也在db save path上类似
upload\u to\u dir/file\u name.ext
格式。 您的
默认值
参数必须以
uploat\u开头为
值,请将此值更改为类似的值,如下所示:

logo = models.ImageField(upload_to="logos", default="logos/images.default.png")
对于选择与
college
值相关的图像,您可以覆盖模型的
save
方法:

class MyModel(models.Model):
    logo = models.ImageField(upload_to="logos", default="logos/images.default.png", blank=None)
    college = models.IntegerField(choices=[(1, 'Harvard'), (2, 'MIT'), (3, 'Oxford')])

    def save(self, *args, **kwargs):
        if self.logo is None:
            if self.college == 1:
                self.logo = 'logos/Harvard.png'
            if self.college == 2:
                self.logo = 'logos/MIT.png'
            if self.college == 3:
                self.logo = 'logos/Oxford.png'

        super(MyModel, self).save(*args, **kwargs)
注意:这些默认图像必须已经存在于
logos
目录中,或者复制到此目录