在settings.py中,如果环境变量只在一种环境中使用,应该如何加载/设置它们?

问题描述

我有一个 Django 应用程序,我在其中使用 python-decouple 和单独的 .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

我想我可以将这些值包含在我的 dev .env 文件中,并将它们设置为默认值,但这似乎没有必要。有没有更简洁的方法来实现这个或最佳实践?我更喜欢使用 python-decouple 的解决方案

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)