问题描述
我正在使用 django_crontab 库,它运行良好,直到我决定将我的 SECRET_KEY 导出到环境变量。总结我在 bash 中所做的事情(在我的 venv 中):
export SECRET_KEY='some_secret_key_from_settings'
在 settings.py 中:
SECRET_KEY = os.environ['SECRET_KEY']
另外,我使用 venv,所以我也在设置中添加了这个:
CRONTAB_PYTHON_EXECUTABLE = '/path_to_my_venv/venv/bin/python3'
这是我的错误:
SECRET_KEY = os.environ['SECRET_KEY']
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/os.py",line 681,in __getitem__
raise KeyError(key) from None
KeyError: 'SECRET_KEY'
我找到的最接近的解决方案是:https://github.com/kraiz/django-crontab/issues/74
但是,我在这方面不太有经验,不明白我应该做什么。我将非常感谢我可以采取的明确步骤的答案
解决方法
如果您不是必须使用环境变量,您可以使用非常简单易用的 python-decouple
包。请参阅 pypi 上的 this。
然后,你可以这样读SECRET_KEY
:(在settings.py
中)
...
from decouple import config
...
SECRET_KEY = config('SECRET_KEY')
应该可以解决您的问题。