gpt4 book ai didi

python - Django,织物 : What is the best way to manage secret keys to deploy Django projects?

转载 作者:太空宇宙 更新时间:2023-11-04 06:03:02 25 4
gpt4 key购买 nike

现在我正在尝试将 SECRET_KEY 存储在环境变量中:

# settings/base.py

def get_env_variable(var_name):
""" Get the environment variable or return exception """
try:
return os.environ[var_name]
except KeyError:
error_msg = 'Set the {} environment variable'.format(var_name)
raise ImproperlyConfigured(error_msg)

SECRET_KEY = get_env_variable('SECRET_KEY')

而且我不知道应该如何使用 Fabric 部署我的项目:

@task
def deploy():
syncdb()
collectstatic()

@task
def collectstatic():
dj('collectstatic')
with cd('{django_root}/static'.format(**env)):
fix_permissions()

@task
def syncdb():
dj('syncdb')

@task
def dj(command):
run('{virtualenv_dir}/bin/python {django_root}/manage.py {dj_command}'.format(dj_command=command, **env))

在这种情况下,哪种设置环境变量的方法最好?我真的很想自动制作并多次使用这个 fabscript。同时,我不想将 secret 信息存储在 fabfile 或设置中,因为我会将它们推送到公共(public)仓库。

最佳答案

将 key 自动设置为部署的一部分是没有意义的,因为 key 可以通过查看部署文件获知。 (您的源文件可能位于不太安全的位置,例如源代码控制,首先分离出 key 的目的是让有权访问源的人看不到它是什么)。

您首先在部署系统上手动设置了一次密码。

(在您的情况下设置环境变量,这可以通过向 /etc/enviroment 添加一行来完成,例如 MY_DJANGO_APP_SECRET_KEY=mysecretkeyvalue)

关于python - Django,织物 : What is the best way to manage secret keys to deploy Django projects?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23725294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com