Python结构&x2B;数据库中的多主机配置

Python结构&x2B;数据库中的多主机配置,python,database,django,deployment,fabric,Python,Database,Django,Deployment,Fabric,我正在研究Django应用程序,帮助使用Fabric部署Python应用程序 我对Fabric和Django都略知一二,但我不确定如何使用它们,以便能够在服务器上运行部署和其他任务,而不是在数据库中存储配置 问题是,我在数据库中存储了所有需要的服务器凭据,并且希望能够使用它们,而不是在fabfile.py中声明特定的主机(或者可能以某种方式参数化它们,称ie为“fab server1\u from_database deploy”)。我需要能够从Django应用程序本身添加/编辑/删除主机,而无

我正在研究Django应用程序,帮助使用Fabric部署Python应用程序

我对Fabric和Django都略知一二,但我不确定如何使用它们,以便能够在服务器上运行部署和其他任务,而不是在数据库中存储配置

问题是,我在数据库中存储了所有需要的服务器凭据,并且希望能够使用它们,而不是在fabfile.py中声明特定的主机(或者可能以某种方式参数化它们,称ie为“fab server1\u from_database deploy”)。我需要能够从Django应用程序本身添加/编辑/删除主机,而无需编辑fabfile.py

有没有可能做到这一点


谢谢你的帮助,我完全被困在这里了…

这不难做到。在文件中,使用数据库中的凭据初始化
env
对象:

from fabric.api import *

credentials = load_credentials_from_your_db()
for (hostname, username, password) in credentials:
    host_string = username + '@' + hostname
    env.hosts.append(host_string)
    env.passwords[host_string] = password
它还没有经过测试,但是医生说它应该可以工作