A simple router for multi page Dash applications.
Project description
dash_router
A simple router for multi page Dash applications. Uses Wekzeug rules.
Use the built-in helper method:
import dash
import dash_core_components as dcc
import dash_html_components as html
from dash_router import Router
external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']
app = dash.Dash(__name__, external_stylesheets=external_stylesheets)
router = Router()
router.register_callbacks(app)
@router.route('/')
def page1():
return html.Div([
dcc.Link('Navigate to "/"', href='/'),
html.Br(),
dcc.Link('Navigate to "/page-2"', href='/page-2'),
html.H1(children='Hello from Page 1')
])
@router.route('/page-2')
def page2():
return html.Div([
dcc.Link('Navigate to "/"', href='/'),
html.Br(),
dcc.Link('Navigate to "/page-2"', href='/page-2'),
html.H1(children='Hello from Page 2')
])
if __name__ == '__main__':
app.run_server(debug=True)
or wire it in to an existing app:
from dash_router import Router
router = Router()
@router.route('/')
def page1():
return html.H1(children='Hello from Page 1')
@router.route('/page-2')
def page2():
return html.H1(children='Hello from Page 2')
def register_callbacks(app):
dashapp.layout = html.Div([
dcc.Location(id='url', refresh=False),
dcc.Link('Navigate to "/"', href='/'),
html.Br(),
dcc.Link('Navigate to "/page-2"', href='/page-2'),
html.Div(id='page-content'),
])
@dashapp.callback(
dash.dependencies.Output('page-content', 'children'),
[dash.dependencies.Input('url', 'pathname')]
)
def display_page(pathname):
return router.dispatch(pathname)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dash_router-0.1.1.tar.gz
(3.7 kB
view hashes)
Built Distribution
Close
Hashes for dash_router-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2469326a4c5ba2be5f96952afcb6e59b7262cf6bd16be4e05af513408a406acd |
|
MD5 | 34979288862492681ecb457733b7235b |
|
BLAKE2b-256 | e94cab44f82ecaf92a7acb2b3a16c4e58425edd31307b136c424a48477f02d23 |