Я создал собственное хранилище, файл называется storages.py
и помещается в приложение с именем core
:
from django.conf import settings
from storages.backends.s3boto import S3BotoStorage
class S3StaticBucket(S3BotoStorage):
def __init__(self, *args, **kwargs):
kwargs['bucket_name'] = getattr(settings, 'static.mysite.com')
super(S3BotoStorage, self).__init__(*args, **kwargs)
В settings.py
у меня есть следующее:
STATICFILES_STORAGE = 'core.storages.S3StaticBucket'
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
Когда я пытаюсь сделать python manage.py collectstatic
, он показывает следующую ошибку:
django.core.exceptions.ImproperlyConfigured: Error importing storage module core.storages: "No module named backends.s3boto"
И когда я запускаю python manage.py shell
и пытаюсь импортировать то же самое:
>>>
>>> from django.conf import settings
>>> from storages.backends.s3boto import S3BotoStorage
>>>
Любая идея, что я делаю неправильно?
core.storages.S3StaticBucket
в оболочку? Возможно, вы пропустили там файл__init__.py
. - person Wojciech Żółtak   schedule 24.02.2012ImportError: No module named backends.s3boto
. У меня есть пустой__init__.py
в приложенииcore
. - person Aziz Alfoudari   schedule 25.02.2012from storages.backends.s3boto import S3BotoStorage
в storages.py и написать вместо нееimport storages
, а затем в следующей строкеprint storages.__file__
. Затем импортируйтеcore.storages.S3StaticBucket
в оболочку. Затем вручную импортируйтеstorages
в оболочку и напечатайтеstorages.__file__
. Если пути различаются - у вас есть свой ответ. - person Wojciech Żółtak   schedule 25.02.2012storages
вstorages.py
относится к самому себе (скомпилированному файлу):/home/ubuntu/project/core/storages.pyc
, а второйstorages
относится к самому пакету:/usr/local/lib/python2.7/dist-packages/storages/__init__.pyc
. Таким образом, похоже, чтоstorages
, который импортируется вstorages.py
, считает себя хранилищем по умолчанию вместо определенного вsettings.py
, чего я не понимаю. Любая идея, почему это происходит? - person Aziz Alfoudari   schedule 25.02.2012