he creado un backend de almacenamiento personalizada, el archivo se llama storages.py
y se coloca en una aplicación llamada core
:Django - storages.backends error importación
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)
En settings.py
, tengo el follwing:
STATICFILES_STORAGE = 'core.storages.S3StaticBucket'
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
Cuando intento hacer python manage.py collectstatic
se muestra el siguiente error:
django.core.exceptions.ImproperlyConfigured: Error importing storage module core.storages: "No module named backends.s3boto"
Y cuando corro python manage.py shell
y tratar de importar el mismo:
>>>
>>> from django.conf import settings
>>> from storages.backends.s3boto import S3BotoStorage
>>>
Alguna idea de lo que estoy haciendo mal?
¿Es capaz de importar un 'núcleo .storages.S3StaticBucket' en shell también? Tal vez te perdiste un archivo '__init __. Py' allí. –
Acabo de intentar hacerlo, recibí 'ImportError: Ningún módulo llamado backends.s3boto'. Tengo un "__init __. Py" vacío en la aplicación 'core'. – abstractpaper
Hm. Intente comentar una línea 'from storages.backends.s3boto import S3BotoStorage' en storages.py, y escriba en su lugar un' import storage' y luego en la siguiente línea 'print storage.__ file__'. Luego, importe un 'core.storages.S3StaticBucket' en shell. A continuación, importe manualmente "almacenamientos" en shell e imprima 'almacenamientos .__ archivo__'. Si las rutas son diferentes, tienes tu respuesta. –