Django - Error importing storages.backends

我的梦境 提交于 2019-12-01 03:32:19
Wojciech Żółtak

There is a namespace conflict; the storage absolute name clashes with a storage local name. It may be unintuitive, but you can import from module in itself:

// file my_module/clash.py
import clash
print clash.__file__

Now we run python shell in a dir containing a my_module:

$ python
>>> import my_module.clash
my_module.clash.py

In short, your module tries to import a backend from itself.

You need an absolute import - Trying to import module with the same name as a built-in module causes an import error.

I had this same issue, but for me it turns out that despite django-storages being installed, boto was not. A simple pip install boto fixed the error in my scenario.

I had another type of issue that can help others, I used to have another file named storages.py but I deleted that file days ago, and still getting the Exception... the thing is I didn't had deleted the file storages.pyc !

Typo error. Change:

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'

TO:

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3Boto3Storage'

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!