Alguém saberia me ajudar a instanciar o Dash dentro do Flask ? No momento, só estou conseguindo que elas rodem em aplicações separadas
Alguém saberia me ajudar a instanciar o Dash dentro do Flask ? No momento, só estou conseguindo que elas rodem em aplicações separadas
Olá, como você está?
Peço desculpas pela demora em obter um retorno.
Atualmente na Alura não temos um curso totalmente dedicado a integração entre o Flask e Dash, mas, existe a possibilidade de integrar o dash e o Flask e para isso, podemos usar o método run_server
do objeto Dash
para iniciar o servidor Dash
dentro do Flask
, como mostro abaixo:
from flask import Flask
from dash import dash, html, dcc
server = Flask(__name__)
app = dash.Dash(__name__, server=server)
app.layout = html.Div(children=[
html.H1(children='Hello Dash'),
dcc.Graph(
id='example-graph',
figure={
'data': [
{'x': [1, 2, 3], 'y': [4, 1, 2], 'type': 'bar', 'name': 'SF'},
{'x': [1, 2, 3], 'y': [2, 4, 5], 'type': 'bar', 'name': u'Montréal'},
],
'layout': {
'title': 'Dash Data Visualization'
}
}
)
])
# adiciona uma rota Flask
@server.route('/hello')
def hello():
return 'Hello, World!'
if __name__ == '__main__':
app.run_server(debug=True)
Quando você usa o método run_server
do objeto Dash, o servidor Dash é iniciado dentro do Flask, de forma que as rotas Dash são tratadas pelo servidor Flask, enquanto as rotas Dash são tratadas pelo servidor Dash. Isso permite que você combine as vantagens do Flask e do Dash em sua aplicação, tornando-a mais flexível e poderosa.
Como apresentado no GIF abaixo a execução do código abaixo:
Todavia, vale ressaltar que como é um assunto externo ao curso e que não tenho acesso ao objetivo do projeto, outros testes terão de ser feitos afim de obter o resultado esperado, mas espero que esta resposta seja um bom ponto de partida para a resolução do seu problema.
Espero ter ajudado. Continue mergulhando em conhecimento!
Abraços e bons estudos!