【问题标题】:running multiple multi-route Flask applications运行多个多路由 Flask 应用程序
【发布时间】:2021-01-25 21:00:18
【问题描述】:

我有一个包含多个路由的烧瓶应用脚本...

#app.py
def create_app(Tractor_id=0):
@app.route("/")
def index():
    return render_template('index.html')

@app.route("/id") 
def start():
    return Tractor_id

@app.route("/stop")
def stop():

DispatcherMiddleware 的帮助下,我尝试使用不同的参数多次实现它,但我遇到了麻烦。 这是实际的实现:

# multiapp.py
from werkzeug.middleware.dispatcher import DispatcherMiddleware
from werkzeug.serving import run_simple

import start

T1 = start.create_app(Tractor_id='101')
T2 = start.create_app(Tractor_id='102')    

# merge
application = DispatcherMiddleware(
    None, {
    '/{}'.format('T101'): T1,
    '/{}'.format('T102'): T2
    }
)

if __name__ == '__main__':
    run_simple(
        hostname='localhost',
        port=5000,
        application=application,
        use_reloader=True,
        use_debugger=True,
        use_evalex=True)

index.html 中有一些按钮可以将用户重定向到 /id/stop 路由,但没有工作。

一般的问题是,如何运行多个 Flask 应用程序,每个应用程序中都有多个路由?

【问题讨论】:

    标签: python flask gunicorn werkzeug


    【解决方案1】:

    我不知道DispatcherMiddleware

    但是,如果您尝试绑定几个烧瓶服务器,只需为每个进程选择另一个端口,它就会起作用。 当您请求他们时,当然要注意端口。

    如果您正在为实际制作多路由服务器而苦苦挣扎,heres a good example.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-06
      • 2022-10-18
      • 1970-01-01
      • 2015-07-05
      • 1970-01-01
      • 2015-12-21
      相关资源
      最近更新 更多