已安装PIL但Django ImageField无法正常工作

时间:2013-03-07 13:36:59

标签: python django

(env)user@user:~/job/django/webr$ sudo pip install PIL
Requirement already satisfied (use --upgrade to upgrade): PIL in /usr/lib/python2.7/dist-packages/PIL
Cleaning up...

但如果我运行syncdb,我有:

  

CommandError:一个或多个模型未验证:content.desing:   “img”:要使用ImageFields,您需要安装Python Imaging   图书馆。在http://www.pythonware.com/products/pil/获取。

我使用django 1.5。有什么问题?

class Design(models.Model):
    title = models.CharField(max_length=255)
    desc = models.TextField()
    img = models.ImageField(upload_to="project_images")

1 个答案:

答案 0 :(得分:1)

听起来好像你没有为运行django的python安装PIL - 我可以看到你已经在某处安装了PIL但使用了sudo命令以及你所在的事实virtualenv如果没有所有事实,这会让人感到困惑。

首先检查一下你确实安装了PIL以及你正在运行哪个python

 $ which python
 /path/to/env/python

 $ pip freeze   # note NO sudo

应列出PIL

 $ python -c "import Image"

不应该返回任何错误。

然后确保调用django的python与上述步骤中的相同

 $ python manage.py shell
 >>> import Image

如果这些步骤中的任何一个导致错误,您距离跟踪它更近了一步。