2013-04-13 2 views
4

У меня проблема с использованием приложения Photologue на heroku с S3 в качестве хранилища для медиафайлов и статических файлов Django 1.5.Как использовать django-photologue с Amazon S3? Решение NotImplementedError

Проблема в том, что всякий раз, когда я пытаюсь добавить, например, размер фото в Джанго админ я получаю: NotImplementedError

Exception Value:  
This backend doesn't support absolute paths. 

то же самое за попытку настроить photologue с manage.py plinit.

Проблема, кажется, что photologue пытается использовать os.path метод в нескольких местах, как (TRACEBACK):

/app/.heroku/python/lib/python2.7/site-packages/photologue/models.py in _get_SIZE_filename 
    return smart_str(os.path.join(self.cache_path(), 

Есть ли способ использовать Джанго-photologue с удаленным хранением, Amazon S3, в частности?

ответ

0

Конфликт был в классе хранения s3boto, метод пути не был реализован. Согласно документации Django, для не локального хранилища вы не должны применять этот метод. Единственный способ решить это как предложение - это реализовать этот метод в коде django-photologue и изменить storages.backends.s3boto и добавить метод пути.

def url(self, name): 
    ... 

def path(self, name): 
    return None 

https://bitbucket.org/david/django-storages/src/tip/storages/backends/s3boto.py

+0

@ donkeyboy72 На основании того, что я читал, ваши медиафайлы должны обрабатываться на другом сервере, таком как Amazon S3. Снижение бремени вашего сайта. Но в моем случае я никогда не использую это, возможно, в будущем – catherine

+0

Справа. Спасибо за ответ @catherine, он очень похож на то, что я нашел в interwebs. Боюсь, что я не могу с этим справиться, хотя :) Я не совсем уверен, как мне «реализовать этот метод в django-photologue». Я совершенно новичок в Django. –

2

fork Это Джанго-photologue работает с s3 отлично. Есть и другие improvements, которые вы также можете любить.

Marcos Daniel Petry, автор этой вилки. Сохранял меня от множества проблем.

+0

running 'pip freeze> requirements.txt' дал мне ссылку на вилку для фотоснимков, которую Heroku не может установить. Если у вас есть эта проблема, замените ссылку на ссылку на pip ('django-photologue == 2.8dev0') с помощью:' git + git: // github.com/petry/django-photologue.git' – ecoe

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