Multiple Dashboards?

With latest (master) version of dash, you can build a multi-app project!

Structure

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    

Serve using uwsgi:

uwsgi --http 0.0.0.0:5000 --processes 4 --wsgi-file run.py

(updated to work with uwsgi, so you get proper multi-process management)

5 Likes