使用.env得到NameError:名称'config'未定义

问题描述 投票:0回答:2

我正在按照教程将静态文件上传到亚马逊S3。

我需要在settings.py中添加两个东西

AWS_ACCESS_KEY_ID = config'AWS_ACCESS_KEY_ID'
AWS_SECRET_ACCESS_KEY = config'AWS_SECRET_ACCESS_KEY'

出于安全原因,我创建了一个名为.env的文件,其形式是.text直接通过pycharm。

我在settings.py中添加了这些代码。我重新启动了nginx和gunicorn然后我激活了虚拟环境并运行python manage.py collectstatic

然后我得到错误NameError:name'config'未定义

有朋友可以告诉我需要做什么吗?谢谢!

python django django-settings
2个回答
2
投票

只需从你的config中移除.env

AWS_ACCESS_KEY_ID = 'AWS_ACCESS_KEY_ID'
AWS_SECRET_ACCESS_KEY = 'AWS_SECRET_ACCESS_KEY'

0
投票

我没有足够的声誉来发表评论,我会直接发帖回答。

我相信settings.py文件可以保存所有可配置的值。在您的settings.py文件中添加这些行

AWS_ACCESS_KEY_ID = 'AWS_ACCESS_KEY_ID' #your actual key
AWS_SECRET_ACCESS_KEY = 'SECRET_ACCESS_KEY' #your actual key

在主工作文件中,确保导入settings.py文件,并按如下方式调用配置值

s3 = boto3.client('s3', aws_access_key_id=config.AWS_ACCESS_KEY_ID, aws_secret_access_key=config.AWS_SECRET_ACCESS_KEY)
© www.soinside.com 2019 - 2024. All rights reserved.