12

我想弄清楚如何用多个应用程序组织一个破折号项目。所有示例都是单页应用程序,我希望将多个破折号组织为一个项目,由 gunicorn 运行(在 docker 容器内):

dash-project/
  app1/
     layout.py
     data.py
  app2/
     layout.py
     data.py
  run.py( or run.sh)

这是正确的方法吗?里面应该有什么,run.py或者run.sh,如果有的话?如何使用 gunicorn 服务多个应用程序?

4

1 回答 1

13

使用最新(主)版本的 dash,您可以构建一个多应用项目!

结构

dash-project/
  app1/
     app.py
     datamodel.py
  app2/
     app.py
     datamodel.py
  mycomponents/
     ...
  server.py
  run.py

app1/app.py:

import dash
import app1.datamodel
..
from server import server

app = dash.Dash(name='app1', sharing=True, 
                server=server, url_base_pathname='/app1')

服务器.py

from flask import Flask
server = Flask(__name__)

运行.py

from server import server as application

import app1.app
import app2.app    

使用 uwsgi 服务(可以很容易地扩展为与 nginx 一起使用)

uwsgi --http 0.0.0.0:5000 --processes 4 --wsgi-file run.py
于 2017-07-13T11:57:27.800 回答