1

我使用sorl-thumbnail

我有一个像这个模型的模型

from sorl.thumbnail import ImageField
class Book(models.Model):
    title = models.CharField(max_length=255)
    thumb =  models.ImageField(upload_to='book')

并将书籍对象(我在 django admin 中创建并将图片设置到 django admin 中)发送到我的模板:

{% thumbnail book.thumb "100x100" crop="center" as im %}
   <img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% endthumbnail %}

但我的页面有这个错误:

GET http://localhost:8000/media/cache/5b/c9/5bc90276a1fb475eb4c28816804e93fa.jpg 404 (NOT FOUND)

我该如何解决这个错误?

我的设置.py:

MEDIA_ROOT = os.path.abspath(os.path.dirname(__file__)) + '/media/'
MEDIA_URL = '/media/'

在我的 urls.py 我有:

urlpatterns += patterns('',
    (r'^media/(.*)$', 'django.views.static.serve', {'document_root': os.path.join(os.path.abspath(os.path.dirname(__file__)), 'media')}),
)

我从 django 开发服务器使用。

4

1 回答 1

1

我使用这个配置,试试这行
settings.py

SITE_ROOT = os.path.dirname(__file__)
THUMBNAIL_DEBUG = True
MEDIA_ROOT = os.path.join(SITE_ROOT, 'media')
MEDIA_URL = '/media/'

网址.py

from django.conf import settings
media_root = getattr(settings, 'MEDIA_ROOT', '/media')    

urlpatterns += patterns('', 
url(r'^media/(?P<path>.*)$','django.views.static.serve',
    {'document_root': media_root})
)
于 2013-06-08T18:34:33.710 回答