试图隐藏django的秘密密钥,但在PythonAnywhere部署时出现错误



我正在尝试部署一个django项目。我将密钥隐藏在一个名为.env的文件中并将其添加到.gitignore因此,我只在本地有django的秘钥,而不在git存储库中。但是当我尝试在PythonAnywhere中部署项目时,会发生错误,因为存储库中没有密钥(服务器可以从其中读取密钥的文件)。

所以我明白硬编码密钥是不好的,但是我怎么才能得到一个用于部署的密钥呢?

我不应该在git存储库中有任何密钥,对吗?

我不应该在git存储库中有任何秘密密钥,对吗?

.

所以我明白硬编码密钥并不好,但是我如何才能获得用于部署的密钥?

密钥可以作为环境变量存储,也可以存储在与项目一起部署的文件中。这两个选项都必须通过您的主机完成。以下是Pythonanywhere对与项目一起部署的文件的建议:https://www.pythonanywhere.com/forums/topic/14207/

您可以在PythonAnywhere上有一个单独的.env文件来存储单独的密钥。.env文件也是存储PythonAnywhere数据库密码等的好地方。从安全角度来看,在本地和PythonAnywhere上使用具有不同值的不同文件是有意义的。不要忘记更新你的PythonAnywhere .gitignore文件,以便在你从PA上传到git存储库时包含它!

您可以通过PA files部分在您的项目目录中创建一个新的.env文件,并使用您本地的.env文件作为基础,通过以下方式生成一个新的键值:

$ python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"

或使用web工具,如https://djecrety.ir/

最新更新