2016-02-16 91 views
-1

我正在管理每個應用程序使用不同模塊的應用程序管理。 我有一個配置文件,它具有一般屬性,包括每個應用程序的憑據。併爲每個應用程序分別定義具有功能的模塊(使用藍圖)。在不同python模塊中使用全局變量

config.py

user_app1  = username1 
password_app1 = password1 
user_app2  = username2 
password_app2 = password2 

app1.py

import config 
env.shell  = '/bin/ksh' 
env.user  = config.user_app1 
env.password = config.password_app1 
execute(stopService) 

app2.py

import config 
env.shell  = '/bin/ksh' 
env.user  = config.user_app2 
env.password = config.password_app2 
execute(stopService) 

main.py

import config 
from app1 import app1_api 
from app2 import app2_api 

app = Flask(__name__) 
app.register_blueprint(app1_api, url_prefix='/app1') 
app.register_blueprint(app2_api, url_prefix='/app2') 

@app.route('/app1') 
def app1(): 
return render_template('app1.html') 

@app.route('/app2') 
def app2(): 
return render_template('app2.html') 

if __name__ == '__main__': 
app.run(host='0.0.0.0', port=int("80")) 

當我從main.py運行我的Flask應用程序併爲app2調用Fabric執行函數時,它似乎選擇了app1的用戶名和密碼。 我在做什麼錯?

回答

0

的問題是,下面的變量初始化代碼從未得到執行:

env.shell  = '/bin/ksh' 
env.user  = config.user_app2 
env.password = config.password_app2 

創建的是有上述各行的初始化函數和運行功能之前,其他任何喜歡的execute()工作。