plotly 获取 Dash 的当前路径名
Get the current pathname of Dash plotly
我想在 Dash 中打印并获取 URL 的当前路径,以便对过滤器进行操作。
我尝试使用 print(Input('url', 'pathname')) 但没有得到 URL.
有什么想法吗?
谢谢
Edit__________ :
我试过了,但我每秒都在获取路径名。如何停止它并只获取一次路径名?
html.Div(id='print')
@app.callback(
Output('print', 'children'),
[Input('url', 'pathname')])
def callback_func(pathname):
print(pathname)
如果没有您的其余代码,我不知道是什么触发了您的回调。 Input('url', 'pathname')
仅在加载 url 时触发回调。
from dash import Dash, html, dcc, Input, Output
app = Dash(__name__)
app.layout = html.Div([html.Div(id='print'), dcc.Location(id='url')])
@app.callback(
Output('print', 'children'),
[Input('url', 'pathname')])
def callback_func(pathname):
print(pathname)
return pathname
app.run_server()
如果您有其他输入可以触发您的回调,并且您只需要 url,那么您可以将类型从 Input
更改为 State
。这使您可以在函数中将路径名作为变量访问,但永远不会触发回调:
from dash import Dash, html, dcc, Input, Output, State
app = Dash(__name__)
app.layout = html.Div([
html.Div(id='print'),
dcc.Location(id='url'),
html.Button('print', id='button')
])
@app.callback(
Output('print', 'children'),
Input('button', 'n_clicks'),
State('url', 'pathname'))
def callback_func(_, pathname):
print(pathname)
return pathname
app.run_server()
我想在 Dash 中打印并获取 URL 的当前路径,以便对过滤器进行操作。
我尝试使用 print(Input('url', 'pathname')) 但没有得到 URL.
有什么想法吗? 谢谢
Edit__________ :
我试过了,但我每秒都在获取路径名。如何停止它并只获取一次路径名?
html.Div(id='print')
@app.callback(
Output('print', 'children'),
[Input('url', 'pathname')])
def callback_func(pathname):
print(pathname)
如果没有您的其余代码,我不知道是什么触发了您的回调。 Input('url', 'pathname')
仅在加载 url 时触发回调。
from dash import Dash, html, dcc, Input, Output
app = Dash(__name__)
app.layout = html.Div([html.Div(id='print'), dcc.Location(id='url')])
@app.callback(
Output('print', 'children'),
[Input('url', 'pathname')])
def callback_func(pathname):
print(pathname)
return pathname
app.run_server()
如果您有其他输入可以触发您的回调,并且您只需要 url,那么您可以将类型从 Input
更改为 State
。这使您可以在函数中将路径名作为变量访问,但永远不会触发回调:
from dash import Dash, html, dcc, Input, Output, State
app = Dash(__name__)
app.layout = html.Div([
html.Div(id='print'),
dcc.Location(id='url'),
html.Button('print', id='button')
])
@app.callback(
Output('print', 'children'),
Input('button', 'n_clicks'),
State('url', 'pathname'))
def callback_func(_, pathname):
print(pathname)
return pathname
app.run_server()