如何获取Django ImageField名称

时间:2014-09-22 13:52:27

标签: python django

如何在django中获取ImageField名称。

settings.py:

MEDIA_ROOT = os.path.join(BASE_DIR,'myApp\media')
MEDIA_URL = '/media/'
DEFAULT_LOGO = MEDIA_ROOT + '\logo.jpg'

我有以下型号:

class Firm(models.Model):
"""
    Firm model class
"""
.....
logo = models.ImageField(upload_to=MEDIA_ROOT, default=DEFAULT_LOGO)


def firm_logo(self):
    return '<img src="/media/%s" width="100" height="100" />' % self.logo.name
firm_logo.allow_tags = True

我想要的是一个logo.jpg的图像名称。这样我就可以在URL中使用它了。我试过self.logo.name, self.logo两个都返回图像目录路径。

c:\Users\...\myApp\media\logo.jpg

但我想要logo.jpg

1 个答案:

答案 0 :(得分:3)

您可以使用FileField.urlImageFieldFieldField的子类):

return '<img src="%s" width="100" height="100" />' % self.logo.url