sorl-thumbnail无法创建缓存

时间:2015-07-26 01:28:38

标签: django sorl-thumbnail

我正在使用缩略图来显示图片预览。但是,缩略图无法创建缓存文件夹,而mysql数据库中的thumbnail_kvstore始终为空。

这是我的代码: 在settings.py中:

INSTALLED_APPS = (
...
'sorl.thumbnail',
)
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/').replace('\\','/')
MEDIA_URL = '/media/'

在urls.py中:

urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

在models.py中:

from sorl.thumbnail import ImageField

class Image(models.Model):
    file = models.ImageField(upload_to="images")
    user = models.ForeignKey(User)

在模板中:

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

缩略图生成的im.url看起来像“/media/cache/6f/9d/6f9dc8d01bf2a23448525d0902a63cd6.jpg”

但是,在media /下没有生成缓存文件夹,我的图像存储在媒体/图像中。此外,mysql数据库中的thumbnail_kvstore表始终为空。

我看过几个类似的问题(Question1Question2)。似乎没有正确配置MEDIA_ROOT或MEDIA_URL。有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

事实证明我使用了错误的ImageField。在models.py中,我使用 sorl.thumbnail.ImageField 而不是内置的 django.db.models.ImageField