from django.conf import settings from django.db import models from django.urls import reverse class Image(models.Model): created = models.DateTimeField(auto_now_add=True) modified = models.DateTimeField(auto_now=True) file = models.ImageField(upload_to='image', null=True, blank=True) def get_absolute_url(self): return '/' + settings.URL_PREFIX + self.file.url[1:] get_absolute_url.short_description = 'URL' def image_tag(self): from django.utils.html import mark_safe return mark_safe('' % self.get_absolute_url()) image_tag.short_description = 'Preview' def __str__(self): if self.file: name = self.file.name.split('/')[-1] else: name = 'None' return name