Rit*_*hah 8 python django heroku amazon-s3 amazon-web-services
我正在尝试使用 django 和 python 制作一个博客应用程序。我还尝试使用 s3 存储桶进行存储,使用 heroku 进行部署。我正在遵循 coreymschafer 的在线教程。我完全按照教程做所有事情,但我收到了这个错误。我不知道该怎么做。请帮忙!
我还安装了 boto3 和 django-storages。但是,我觉得问题出在 boto3 上,由于某种原因,请在此处输入图像描述。我附上了问题的截图,也只是想说明base.html没有问题
请帮忙!谢谢
我将这些添加到我的 settings.py 文件中:
AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = os.environ.get('AWS_STORAGE_BUCKET_NAME')
AWS_S3_FILE_OVERWRITE = False
AWS_DEFAULT_ACL = None
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
Run Code Online (Sandbox Code Playgroud)
小智 11
有同样的问题。注释掉这一行,代码再次正常工作:
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
Run Code Online (Sandbox Code Playgroud)
发现这是因为,即使我已经重新启动了我的电脑,我引用的环境变量之一设置不正确:
AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = os.environ.get('AWS_STORAGE_BUCKET_NAME')
Run Code Online (Sandbox Code Playgroud)
我使用 Python 控制台进行了检查:
import os
print(os.environ.get('AWS_ACCESS_KEY_ID'))
print(os.environ.get('AWS_SECRET_ACCESS_KEY'))
print(os.environ.get('AWS_STORAGE_BUCKET_NAME'))
Run Code Online (Sandbox Code Playgroud)
并确保 Python 可以正确访问所有值。然后带回来了:
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
Run Code Online (Sandbox Code Playgroud)
小智 0
我遇到了与您相同的问题,尽管您在本地计算机中设置了AWS环境变量,但您可能没有在服务器端设置它们。因此,您可以复制设置 AWS 环境变量的本地 .bash_profile 文件中的导出命令,并将其粘贴到服务器端的 .bash_profile 文件中。
| 归档时间: |
|
| 查看次数: |
12385 次 |
| 最近记录: |