如何将 django_crontab 与 os.environ['SECRET_KEY'] 一起使用?
How to use django_crontab with os.environ['SECRET_KEY']?
我正在使用 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')
应该可以解决您的问题。
我正在使用 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')
应该可以解决您的问题。