我有一个 Django 应用程序,我在其中使用 python 解耦和单独的.env
文件处理环境变量。这适用于开发和生产环境中都存在的变量,例如DEBUG
.
SECRET_KEY = config('SECRET_KEY')
DEBUG = config('DEBUG', cast=bool)
ALLOWED_HOSTS = config('ALLOWED_HOSTS', cast=Csv())
虽然DEBUG
在每个环境中都有不同的值,但其他变量SECURE_HSTS_SECONDS
只需要在生产中设置,而在开发中根本不需要设置。我目前只是在我的 settings.py 文件中硬编码这些值:
if not DEBUG:
SECURE_HSTS_SECONDS = 60
SECURE_HSTS_INCLUDE_SUBDOMAINS = True
SECURE_REFERRER_POLICY = 'same-origin'
SECURE_HSTS_PRELOAD = True
SECURE_SSL_REDIRECT = True
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
我想我可以在我的开发.env
文件中包含这些值并将它们设置为默认值,但这似乎没有必要。是否有更清洁的方法来实现这一点或最佳实践?我更喜欢使用 python-decouple 的解决方案