我正在使用每个应用的不同模块来管理应用管理。 我有一个配置文件,它具有一般属性,包括每个应用程序的凭据。以及为每个应用程序定义功能的单独模块(使用蓝图)。
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 :(得分:0)
问题是以下变量初始化代码永远不会被执行:
env.shell = '/bin/ksh'
env.user = config.user_app2
env.password = config.password_app2
创建一个具有上述行并在任何其他函数(如execute()之前运行该函数)的init函数。