初始情况
Flask应用程序入口点,例如:
# run.py
if __name__ == "__main__":
parser = init_parse()
args = parser.parse_args()
if args.type == 'a':
# need to define logic of localhost:5000/process in A way
elif args.type == 'b':
# need to define logic of localhost:5000/process in B way
app = create_app("config")
app.run(debug=True, host='0.0.0.0')
我需要根据运行参数使用可编码的类 A 和 B 做出我的应用程序响应,并传递给 run.py 。如:
# resources.py
from config import APP_VAR
from controller import A, B
a = A()
b = B()
class ServerResponse(Resource):
def get(self):
try:
if APP_VAR == 'a':
return a()
elif APP_VAR == 'b':
return b()
raise Exception
except BaseException as e:
return {'error': str(e)}
我尝试过的事情
正如您从resources.py中看到的那样,我尝试在 run.py 和<之间共享相同的变量 APP_VAR 在 config.py 中。 strong> resources.py 。尽管APP_VAR在run.py和resources.py中具有相同的ID,但是如果我从它们中使用 id(APP_VAR)来获得它。
问题
完成这种应用逻辑分配的最佳实践是什么?在这种情况下,我应该如何根据运行参数指定逻辑?