如何根据应用程序的运行参数指定Flask-restful资源逻辑

时间:2019-08-16 01:49:20

标签: python flask

初始情况

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)来获得它。

问题

完成这种应用逻辑分配的最佳实践是什么?在这种情况下,我应该如何根据运行参数指定逻辑?

0 个答案:

没有答案