Python 如何使用dash html核心组件按钮执行def功能
我有一个简单的代码,如下所示:Python 如何使用dash html核心组件按钮执行def功能,python,plotly-dash,Python,Plotly Dash,我有一个简单的代码,如下所示: import pyodbc import pandas as pd import os import sqlalchemy as db from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String, Date, Float import datetime as dt import numpy as np import dash import dash_html_comp
import pyodbc
import pandas as pd
import os
import sqlalchemy as db
from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String, Date, Float
import datetime as dt
import numpy as np
import dash
import dash_html_components as html
import dash_core_components as dcc
external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']
app = dash.Dash(__name__, external_stylesheets=external_stylesheets)
def my_DB_func():
.............
"""Connection to sql-server Part"""
# connect db
engine = create_engine('mssql+pyodbc://bbbbb-aaaaa\zzzzzzzxxx/toolDB?driver=SQL+Server+Native+Client+11.0')
connection = engine.connect()
................
# Close the connection
connection.close()
app.layout = html.Div([
html.Button('Submit', id='button'),
])
if __name__ == '__main__':
app.run_server(debug=True)
因此,当单击此按钮时,我需要做的就是执行my\u DB\u func()
关于这个函数,它只是一个包含800多行代码的代码,它使用到_csv
和到_sql
函数创建数据库并导出一些excel文件
那么如何执行
@Callback
函数来执行def
功能我尝试使用这个简单的@Callback,它可以工作:
@app.callback(
Output(component_id='body-div', component_property='children'),
[Input(component_id='button', component_property='n_clicks')]
)
def update_output(n_clicks):
if n_clicks is None:
raise PreventUpdate
else:
return my_DB_func()