我想弄清楚如何组织一个包含多个应用的短划线项目。所有示例都是单页应用程序,我希望将多个破折号组织为一个由gunicorn运行的项目(在docker容器内):
dash-project/
app1/
layout.py
data.py
app2/
layout.py
data.py
run.py( or run.sh)
这是正确的方法吗?如果有的话,run.py
或run.sh
内应包含哪些内容?我如何使用gunicorn来提供多个应用程序?
答案 0 :(得分:9)
使用最新(主)版本的破折号,您可以构建一个多应用程序项目!
结构
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')
server.py
from flask import Flask
server = Flask(__name__)
run.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