ImportError:没有名为自定义存储的模块 - django-storages boto

时间:2017-02-03 01:12:38

标签: python django amazon-web-services amazon-s3

我正在尝试使用本教程来使用s3,但是直到最后一步,不知怎的,我得到了这个错误,我不知道应该在哪里导入我自己的自定义模块

教程链接
https://www.caktusgroup.com/blog/2014/11/10/Using-Amazon-S3-to-store-your-Django-sites-static-and-media-files/

一切都很好,我可以使用s3上传/复制/使用静态文件,然后是关于为媒体使用创建自定义存储的步骤

# custom_storages.py
from django.conf import settings
from storages.backends.s3boto import S3BotoStorage

class StaticStorage(S3BotoStorage):
    location = settings.STATICFILES_LOCATION

我在与setting.py相同的目录中创建了.py文件(其中包含INSTALLED_APPS以及更多内容的setting.py)

然后在我在教程

中提到的下面添加的设置中
STATICFILES_LOCATION = 'static'
STATICFILES_STORAGE = 'custom_storages.StaticStorage'
STATIC_URL = "https://%s/%s/" % (AWS_S3_CUSTOM_DOMAIN, STATICFILES_LOCATION)

然后我跑了python manage.py collectstatic

我收到此错误

  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named custom_storages

有人可以帮我一把吗? 提前谢谢。

2 个答案:

答案 0 :(得分:4)

这个功劳应归功于Shubham Namdeo,后者给了我https://disqus.com/home/discussion/wwwcaktusblog/using_amazon_s3_to_store_your_django_sites_static_and_media_files/

的链接

有很多建议和方法/错误的人发现有帮助但是对我来说帮助我解决这个问题的部分只是将custom_storage.py移动到与manage.py相同的目录中所以manage.pycustom_storage.py实际上在目录结构的同一级别,然后它就像那样工作〜

甚至不需要进口任何东西。

我附上了我得到答案的部分的图像,所以如果你遇到与我相同的问题,你不必一直向下滚动。

s3

答案 1 :(得分:2)

在我的项目中,我在一个文件夹中有custom_storages,这可能会有所帮助吗?

STATICFILES_STORAGE = 'myapp.custom_storages.StaticStorage'

文件夹结构如下所示

/myproject
   someapp1/
   someapp2/
   myapp/
      settings/
         __init__.py
         production.py
      custom_storages.py
   manage.py