python - django 媒体和缓存错误

标签 python django image sorl-thumbnail

我使用 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/

相关文章:

python - 如何使用 LIMIT 在 python 3 中编写 mysql 准备好的 SELECT 语句?

python - “ToastNotifier”对象没有属性 'classAtom'

python - 如何从元组中获取特定的东西

django - Django 模型中的派生变量

javascript - 如何在Javascript中将一串数据转换为图像?

javascript - 显示文件夹中最新的图像,自动刷新

python - 在 Python 中将任何可迭代对象转换为数组

python - 如何在 Django 模板中引用本地媒体文件

django - 如果在 Django(使用 PostgreSQL 数据库)中超过 5 分钟(否则为 0),则以秒为单位获取记录的年龄

php - 如何从同一链接(带有图像扩展名)返回不同的数据?