django easy-Thumbnails 不可用
在我的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 个回答
我不太清楚你的服务器设置是什么样的,但在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
--------------------------------------------------------------------
对于 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