django easy-Thumbnails 不可用

1 投票
2 回答
3452 浏览
提问于 2025-04-17 19:05

在我的Django项目中,我使用了Easy Thumbnails这个库。

在本地一切都运行得很好,但在生产服务器上我遇到了一些奇怪的情况。

在生产环境中,这个库已经成功安装,我也按照GitHub上说明的步骤进行了操作。

在我的设置中,我添加了以下几行代码:

THUMBNAIL_ALIASES = {
'': {
    'small': {'size': (75, 75), 'crop': True},
    'regular': {'crop': "scale" , 'size': (500, 0) },
    'galleryThum': {'crop': True , 'size': (120, 120) },
},

}

我有一个叫做Photo的模型类,其中有一个叫做image的图片字段。

在模板中,我做了以下操作:

1- {% load thumbnail %}

2- <img src="{{photo.image|thumbnail_url:'galleryThum'}}"/>

在本地一切正常,但在生产服务器上,图片却没有显示。当我把这行代码 <img src="{{photo.image|thumbnail_url:'galleryThum'}}"/> 替换成 <img src="{{photo.image.url}}"/> 时,图片就正常显示了。

问题可能出在哪里呢?

2 个回答

0

我不太清楚你的服务器设置是什么样的,但在CentOS 6.3上用 pip install pil 命令并没有安装任何依赖项。这里是我解决这个问题的方法:

如果已经安装了 PIL,先卸载它:用 pip uninstall pil 命令,然后:

yum install freetype freetype-devel libjpeg libjpeg-devel
pip install pillow

(如果你在Linux上,可以用 apt-get install 来代替 yum install。)

安装完 pillow 后,最后你应该能看到类似下面的输出:

--------------------------------------------------------------------
SETUP SUMMARY (Pillow 2.0.0 fork, originally based on PIL 1.1.7)
--------------------------------------------------------------------
version      2.0.0 (Pillow)
platform     linux2 2.7.3 (default, Apr 30 2013, 20:15:01)
             [GCC 4.4.7 20120313 (Red Hat 4.4.7-3)]
--------------------------------------------------------------------
*** TKINTER support not available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
*** TIFF G3/G4 (experimental) support not available
--- FREETYPE2 support available
*** LITTLECMS support not available
*** WEBP support not available
--------------------------------------------------------------------
1

对于 Debian 或 Ubuntu 系统,

如果你在用 yum 安装的话,可以用下面的命令:

yum install freetype freetype-devel libjpeg libjpeg-devel

但在 Debian 或 Ubuntu 上,你应该使用:

sudo apt-get install libwebp4 libwebp4-dev libfreetype6 libfreetype6-dev libjpeg8 libjpeg8-dev liblcms1 liblcms1-dev libwebp4 libwebp4-dev

撰写回答