2013-03-07 5 views
-1
(env)[email protected]:~/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 у меня есть:PIL установлен, но Django ImageField не работает

CommandError: One or more models did not validate: content.desing: "img": To use ImageFields, you need to install the Python Imaging Library. Get it at http://www.pythonware.com/products/pil/ .

Я использую Джанго 1.5. Что не так?

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

Можно ли разместить свою модель или ее ограниченную версию? – cwgem

+0

@cwgem Обновленный вопрос – mamasi

+0

Убедитесь, что 'PYTHONPATH' совпадает между двумя тестовыми средами. –

ответ

1

Это звучит, как если бы вы не установили PIL для питона работает Джанго - Я вижу, что вы установили PIL где-то, но с sudo команды и тот факт, вы как раз в virtualenv это становится довольно запутанной без все фактов.

Сначала убедитесь, что у вас действительно есть PIL установлены и какие Python вы используете

$ which python 
/path/to/env/python 

$ pip freeze # note NO sudo 

должны перечислить PIL и

$ python -c "import Image" 

не должен возвращать какую-либо ошибку.

Затем убедитесь, что питон, который вызывает django тот же один, как в вышеприведенных шагов

$ python manage.py shell 
>>> import Image 

Если какой-либо из этих шагов вызывает ошибку, вы один шаг ближе к отслеживанию этого вниз.

Смежные вопросы