Ссылка администратора Django на изображение через ImageField
Я настроил модель деятельности Django, которая содержит следующее поле:
class Activity(models.Model):
...
thumbnail = models.ImageField(upload_to="thumbs/", blank=True, null=True)
Через интерфейс администратора я могу загрузить изображение, которое правильно помещено в папку thumbs домашнего каталога. Когда я пытаюсь отредактировать созданное мной действие, интерфейс говорит: Currently: thumbs/image.png
которая является гиперссылкой, указывающей на http://localhost:8000/media/thumbs/image.png
, Когда я нажимаю эту ссылку, я получаю сообщение об ошибке 404 страница не найдена. Как получить ссылку, указывающую на изображение, которое я загрузил? И если возможно, как я могу отобразить изображение прямо в интерфейсе администратора?
РЕДАКТИРОВАТЬ:
MEDIA_ROOT = '/Users/.../mysite/media/'
; MEDIA_URL = 'http://localhost:8000/media/'
;
Содержание urls.py:
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
)
Спасибо!
1 ответ
settings.py
from django.conf.urls import patterns, include, url
from django.conf.urls.static import static
from django.contrib import admin
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
admin.autodiscover()
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
)+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += staticfiles_urlpatterns()
models.py
class Activity(models.Model):
...
thumbnail = models.ImageField(upload_to="thumbs/", blank=True, null=True)
def image_(self):
return '<a href="/media/{0}"><img src="/media/{0}"></a>'.format(self.thumbnail)
image_.allow_tags = True
class AdminName(admin.ModelAdmin):
.........
list_display = ('image_',)