如何禁用按钮直到完成一个函数,并使用python和html.button再次启用

如何禁用按钮直到完成一个函数,并使用python和html.button再次启用,python,hyphen,Python,Hyphen,我刚刚尝试创建一个加载组件以禁用按钮,但在名为my_DB_func()的def过程中,我不知道如何将其禁用,下面只创建加载,直到该功能完成,但是在另一方面,我想禁用这个按钮,直到进程完成,那么我该怎么做呢 这是我的完整代码: import dash import dash_html_components as html import dash_core_components as dcc import time from Missing_relation_All import my_DB_fun

我刚刚尝试创建一个
加载
组件以禁用按钮,但在名为
my_DB_func()
def
过程中,我不知道如何将其禁用,下面只创建加载,直到该功能完成,但是在另一方面,我想禁用这个
按钮
,直到进程完成,那么我该怎么做呢

这是我的完整代码:

import dash
import dash_html_components as html
import dash_core_components as dcc
import time
from Missing_relation_All import my_DB_func

from dash.dependencies import Input, Output, State

app = dash.Dash(__name__)

app.layout = html.Div(
    children=[
        html.Button('Create Missing Relation Script', id='input-1', disabled=False),
        dcc.Loading(id="loading-1", children=[html.Div(id="loading-output-1")], type="default"),
    ],
)

@app.callback(Output("loading-output-1", "children"), [Input("input-1", "n_clicks")])
def input_triggers_spinner(n_clicks):
    if n_clicks == True:
        my_DB_func()
        return 'Script have been created successful :) !!!!'


    elif n_clicks != True:
        return 'Please Click Here'


if __name__ == "__main__":
    app.run_server(debug=False)

这个问题有用吗?我希望您只需要在调用DB_func之前将按钮设置为禁用,然后在DB_func完成或抛出错误后将其设置为活动。@HammerN'Songs对不起。。。你们能解释一下我的代码吗?你们试过把你们的按钮放在加载组件上吗?这个问题有用吗?我希望您只需要在调用DB_func之前将按钮设置为禁用,然后在DB_func完成或抛出错误后将其设置为活动。@HammerN'Songs对不起。。。你们能解释一下我的代码吗?你们试过把你们的按钮放在加载组件上吗?