我使用 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 开发服务器。
最佳答案
我使用这个配置,试试这个行
设置.py
SITE_ROOT = os.path.dirname(__file__)
THUMBNAIL_DEBUG = True
MEDIA_ROOT = os.path.join(SITE_ROOT, 'media')
MEDIA_URL = '/media/'
url.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})
)
关于python - django 媒体和缓存错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17002500/