如何将 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')

应该可以解决您的问题。