Найти - Пользователи
Полная версия: PIL на Windows
Начало » Django » PIL на Windows
1
dissdoc
Всем добрый вечер.
Ребят, возник вопрос. Как поставить PIL в проект? Т.е. я установил PIL но никак не найду в документации как теперь эту библиотеку устанавливать в свой проект?
Раньше на Ubuntu ставил через pip =( А сейчас как быть?
Александр Кошелев
dissdoc
как теперь эту библиотеку устанавливать в свой проект?
Что значит “установить в проект”?

Если библиотека установлена в системе, то вы можете её использовать в любом проекте.
S
А если джанга ругается:
The _imaging C module is not installed
, как быть? Выдаётся при попытке аплода файла. Если делать через дев-сервер, то такой проблемы нет.
В mod.wsgi прописал
sys.path.append('C:/Python27/Lib/site-packages/')
, но ничего не изменилось, да и вообще, судя по странице ошибок всё что нужно в путях есть, в том числе и сам PIL:
Python Path: 	
['C:\\Windows\\system32\\python27.zip',
 'C:\\Python27\\Lib',
 'C:\\Python27\\DLLs',
 'C:\\Python27\\Lib\\lib-tk',
 'C:\\Program Files (x86)\\Apache Software Foundation\\Apache2.2',
 'C:\\Program Files (x86)\\Apache Software Foundation\\Apache2.2\\bin',
 'C:\\Python27',
 'C:\\Python27\\lib\\site-packages',
 'C:\\Python27\\lib\\site-packages\\PIL',
 'C:/Program Files (x86)/Apache Software Foundation/Apache2.2/modules',
 'C:/Python27/Lib/site-packages/',
 'C:/django/mysite']
S
Пора вводить эмпирическое правило - пока на форуме не спросишь, на стэковерфлоу ничего не найдётся.
Решение: http://stackoverflow.com/questions/4011705/python-the-imagingft-c-module-is-not-installed/4011715#4011715
S
Далее - эта ошибка пропала, файлы загружаются, но в папке не появляются.
В конфиге апача прописано: Alias /media/ Cdjango/mysite/media/
в settings.ry есть:
MEDIA_ROOT = ‘/media/’
MEDIA_URL = ‘/media/’

Пытаюсь делать по книге форсье и биссекса, код models.py:
from django.db import models
from django.contrib import admin
# Create your models here.
from django.db.models import permalink
class Item(models.Model):
    name = models.CharField(max_length=250)
    description = models.TextField()
    class Meta:
        ordering = ['name']
    def __unicode__(self):
        return self.name
    @permalink
    def get_absolute_url(self):
        return ('item_detail', None, {'object_id': self.id})
class Photo(models.Model):
    item = models.ForeignKey(Item)
    title = models.CharField(max_length=100)
    image = models.ImageField(upload_to='media')
    caption = models.CharField(max_length=100, blank=True)
    class Meta:
        ordering = ['title']
    def __unicode__(self):
        return self.title
    @permalink
    def get_absolute_url(self):
        return ('photo_detail', None, {'object_id': self.id})
class PhotoInline(admin.StackedInline):
    model = Photo
class ItemAdmin(admin.ModelAdmin):
    inlines = [PhotoInline]
class TestModel(models.Model):
    message = 'hello!'
admin.site.register(Item, ItemAdmin)
admin.site.register(Photo)

Как такие косяки правильно отлавливаются?
S
Вот та же ерунда была у человека: http://python.su/forum/topic/9008/
S
Оказывается в MEDIA_ROOT нужно было прописать полный путь.
Вариант когда в settings.py написано
MEDIA_ROOT = /media/
, и в директиве виртуально хоста есть строка
Alias /media/ C:/django/mysite/media/
не работает. Нужно прям писать
MEDIA_ROOT = C:/django/mysite/media/
, тогда работает.
Хотя
STATIC_ROOT = '/static/'
с
Alias /static/ C:/django/mysite/static/
работает нормально, статика отображается корректно.
Почему такая разница?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB