@ceuzebio wrote:
Hi Guys,
I working in a project based on @nedned github project.
ned code: https://github.com/ned2/dash-django-example
my code: https://github.com/CaioEuzebio/DjangoDashboard/blob/master/app/as_dash.py
However i not sure how can i make my callbacks work inside a routes(functions)
The update_columns callback functions are not working as expected to perform calculations in dash table.
This is the structure.
def dispatcher(request): ''' Main function @param request: Request object ''' app = _create_app() params = { 'data': request.body, 'method': request.method, 'content_type': request.content_type } with app.server.test_request_context(request.path, **params): app.server.preprocess_request() try: response = app.server.full_dispatch_request() except Exception as e: response = app.server.make_response(app.server.handle_exception(e)) return response.get_data() def _create_app(): ''' Creates dash application ''' app = dash.Dash(__name__, external_stylesheets=[dbc.themes.BOOTSTRAP]) app.config['suppress_callback_exceptions']=True app.layout = dhc.Div(children=[]) @app.callback( dash.dependencies.Output('content', 'children'), [dash.dependencies.Input('url', 'pathname')] ) def display_page(pathname): ''' ''' if not pathname: return '' if pathname == '/': return dash_index() method = pathname[1:].replace('-', '_') func = getattr(sys.modules[__name__], method, None) if func: return func() return 'Unknown link' return app def dash_fig1(): pandas code return dash core components @app.callback( Output('computed-table', 'data'), [Input('computed-table', 'data_timestamp')], [State('computed-table', 'data')]) def update_columns(timestamp, rows): for row in rows: try: if row['Unidades Pendentes'] != 0: row['UPH_BPI_vs_Head'] = float(row['UPH_BPI_vs_Perfil']) * float(row['Head_Disponível']) row['ETA_Geral'] = float(row['Unidades Pendentes']) / float(row['UPH_BPI_vs_Head']) row['Delta_Hora'] = float(row['Horas_Disp']) - float(row['ETA_Geral']) row['Risco_Aging'] = float(row['Delta_Hora']) * float(row['UPH_BPI_vs_Head']) else: row['UPH_BPI_vs_Head'] = "Completed" row['ETA_Geral'] = "Completed" row['Delta_Hora'] = "Completed" row['Risco_Aging'] = "Completed" row['UPH_BPI_vs_Perfil'] = "Completed" row['Head_Disponível'] = "Completed" row['Horas_Disp'] = "Completed" except: row['ETA_Geral'] = 'NA' return rows @app.callback( Output('table-backlog', 'data'), [Input('table-backlog', 'data_timestamp')], [State('table-backlog', 'data')]) def update_columns(timestamp, rows): for row in rows: try: if row['Unidades Pendentes'] != 0: row['Delta Hora'] = float(row['Horas Disp']) - float(row['ETA']) row['Risco Aging'] = float(row['Delta Hora']) * float(row['UPH']) else: row['ETA'] = "Completed" except: row['ETA'] = row['ETA'] return rows
Posts: 1
Participants: 1