🚀 Dash Cheat Sheet

📈 Site oficial do Dash (Documentação)

# Comando / Função / Parâmetro O que faz Exemplo / Instalação
1pip install dashInstalação da biblioteca principalpip install dash pandas
2Dash(__name__)Inicializa a aplicação Dashapp = Dash(__name__)
3html.Div()Cria um elemento de divisão (container)html.Div(children='Olá Dash')
4html.H1()Cabeçalho de nível 1html.H1('Meu Dashboard')
5html.P()Elemento de parágrafohtml.P('Texto descritivo')
6html.Br()Quebra de linha simpleshtml.Br()
7html.Img()Insere uma imagemhtml.Img(src='/assets/logo.png')
8html.Button()Botão padrão HTMLhtml.Button('Clique', id='btn')
9dcc.Graph()Renderiza um gráfico Plotlydcc.Graph(figure=fig)
10dcc.Dropdown()Menu de seleção suspensadcc.Dropdown(['A', 'B'], 'A')
11dcc.Slider()Controle deslizante numéricodcc.Slider(0, 10, 1, value=5)
12dcc.Input()Campo de entrada de texto/númerodcc.Input(type='text')
13dcc.Checklist()Caixas de seleção múltipladcc.Checklist(['Op1', 'Op2'])
14dcc.RadioItems()Botões de rádio (seleção única)dcc.RadioItems(['S', 'N'])
15dcc.DatePickerRange()Seleção de intervalo de datasdcc.DatePickerRange(id='dt')
16dcc.Markdown()Renderiza texto em Markdowndcc.Markdown('# Título MD')
17dcc.Store()Armazena dados no navegador do clientedcc.Store(id='session-data')
18dcc.Interval()Dispara callbacks periodicamentedcc.Interval(interval=1000)
19dcc.Link()Link para navegação interna (SPA)dcc.Link('Ir', href='/p1')
20dcc.Location()Monitora a URL do navegadordcc.Location(id='url')
21dcc.Loading()Exibe spinner durante carregamentodcc.Loading(children=[...])
22dcc.Upload()Componente para upload de arquivosdcc.Upload('Arraste aqui')
23dcc.Tabs()Container para abas de navegaçãodcc.Tabs(id='tabs', children=[...])
24dcc.Tab()Conteúdo de uma aba específicadcc.Tab(label='Aba 1')
25dcc.Clipboard()Botão para copiar para área de transferênciadcc.Clipboard(target_id='copiar')
26@callback()Decorador para lógica interativa@callback(Output(...), Input(...))
27Output()Define o destino do retorno do callbackOutput('id', 'property')
28Input()Define o gatilho do callbackInput('btn', 'n_clicks')
29State()Lê valor sem disparar o callbackState('input', 'value')
30ctx.triggered_idIdentifica qual ID disparou o callbackid = ctx.triggered_id
31no_updateImpede a atualização de um Outputreturn dash.no_update
32prevent_initial_callEvita execução no carregamento da página@callback(..., prevent_initial_call=True)
33clientside_callbackExecuta lógica JavaScript no clienteclientside_callback("function...", ...)
34dash_table.DataTable()Tabela interativa avançadadash_table.DataTable(df.to_dict('records'))
35columns=Define colunas da tabelacolumns=[{"name": i, "id": i} for i in df.columns]
36page_size=Número de linhas por páginapage_size=10
37sort_action=Habilita ordenação ('native')sort_action='native'
38filter_action=Habilita filtros nas colunasfilter_action='native'
39editable=TruePermite edição direta na célulaeditable=True
40row_selectable=Habilita seleção de linhas ('single'/'multi')row_selectable='multi'
41style=Dicionário de CSS inlinestyle={'color': 'red'}
42className=Atribui classe CSS externaclassName='container-fluid'
43external_stylesheetsCarrega CSS externo (ex: Bootstrap)external_stylesheets=[dbc.themes.BOOTSTRAP]
44app.layoutDefine a estrutura da páginaapp.layout = html.Div(...)
45pip install dash-bootstrap-componentsInstalação do pacote Bootstrappip install dash-bootstrap-components
46dbc.Container()Container responsivo Bootstrapdbc.Container(children, fluid=True)
47dbc.Row()Linha do sistema de griddbc.Row([dbc.Col(...)])
48dbc.Col()Coluna do sistema de griddbc.Col(width=6)
49dbc.Card()Container de cartão estilizadodbc.Card(dbc.CardBody(...))
50dbc.Navbar()Barra de navegação superiordbc.NavbarSimple(...)
51dbc.Alert()Mensagens de alerta coloridasdbc.Alert("Erro!", color="danger")
52dbc.Modal()Janelas pop-up (diálogos)dbc.Modal([dbc.ModalHeader(...)])
53app.run(debug=True)Inicia o servidor de desenvolvimentoif __name__ == '__main__': app.run(debug=True)
54multi=TruePermite seleção múltipla no Dropdowndcc.Dropdown(..., multi=True)
55placeholder=Texto de ajuda em campos vaziosplaceholder='Selecione...'
56clearable=FalseImpede limpeza de seleção no Dropdownclearable=False
57persistence=TrueMantém estado após recarregar páginapersistence=True
58children=Conteúdo interno de um componentehtml.Div(children=[...])
59id=Identificador único para callbacksid='meu-comp'
60inline=TrueExibe Checklist horizontalmentedcc.Checklist(..., inline=True)
61options=Lista de opções para seletoresoptions=[{'label': 'X', 'value': 1}]
62value=Valor inicial/atual do componentevalue='padrão'
63disabled=TrueDesabilita o componentedisabled=True
64max_length=Limite de caracteres no Inputdcc.Input(max_length=10)
65debounce=TrueEnvia valor apenas após Enter ou perda de focodcc.Input(debounce=True)
66min=Valor mínimo permitidomin=0
67max=Valor máximo permitidomax=100
68step=Incremento de valoresstep=0.5
69marks=Rótulos customizados no Slidermarks={0: 'Início', 10: 'Fim'}
70vertical=TrueAltera Slider para orientação verticalvertical=True
71updatemode=Quando o Slider envia dados ('mouseup'/'drag')updatemode='drag'
72href=Destino de um linkhtml.A('Link', href='https://...')
73target='_blank'Abre link em nova abahtml.A(..., target='_blank')
74dangerously_allow_htmlPermite HTML em Markdown (Cuidado!)dcc.Markdown(..., dangerously_allow_html=True)
75mathjax=TrueHabilita fórmulas matemáticas no Markdowndcc.Markdown(..., mathjax=True)
76loading_statePropriedade de leitura do estado de cargaInput('comp', 'loading_state')
77title=Texto ao passar o mousehtml.Div(title='Dica')
78n_clicksContador de cliques em botõesInput('btn', 'n_clicks')
79n_clicks_timestampTimestamp do último cliqueState('btn', 'n_clicks_timestamp')
80active_tabIdentifica aba selecionada no DBCInput('tabs', 'active_tab')
81is_openControla visibilidade de Modal/CollapseOutput('modal', 'is_open')
82key=Ajuda o React a identificar mudanças em listashtml.Div(key='unique_id')
83figure.update_layout()Atualiza layout do gráfico Plotlyfig.update_layout(title='Gráfico')
84figure.add_trace()Adiciona nova série ao gráficofig.add_trace(go.Scatter(...))
85px.scatter()Cria dispersão rápida com Plotly Expresspx.scatter(df, x='x', y='y')
86px.bar()Cria barras rápidas com Plotly Expresspx.bar(df, x='cat', y='total')
87px.line()Cria linhas rápidas com Plotly Expresspx.line(df, x='data', y='valor')
88dash.register_page()Registra página em apps multi-páginasdash.register_page(__name__, path='/')
89dash.page_containerContainer onde as páginas são renderizadashtml.Div(dash.page_container)
90suppress_callback_exceptionsEvita erros de IDs inexistentes no layout inicialapp = Dash(..., suppress_callback_exceptions=True)
91assets_folder=Define pasta de arquivos estáticosapp = Dash(assets_folder='static')
92requests_pathname_prefixConfiguração para deploy em subpastasapp = Dash(requests_pathname_prefix='/app/')
93server = app.serverExpõe a instância Flask para o Gunicornserver = app.server