从 dash python 中的 url 获取参数:此 ID 分配给布局中的 dash_core_components.Location 组件,不支持属性

Posted

技术标签:

【中文标题】从 dash python 中的 url 获取参数:此 ID 分配给布局中的 dash_core_components.Location 组件,不支持属性【英文标题】:Get parameters from url in dash python: This ID is assigned to a dash_core_components.Location component in the layout,which does not support property 【发布时间】:2021-12-23 02:05:30 【问题描述】:

以下是我的代码:

我想从url中获取参数并在网页中打印出来。

例如, http://127.0.0.1:8051/random?xaxis=log&yaxis=log 是我的网址。

我想打印网页中的路径名,而我现在返回为 None。我哪里错了。

import dash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output

app = dash.Dash(__name__)

app.layout = html.Div([
    dcc.Location(id='url', refresh=False),
    html.Br(),
    html.Div(id='my-output')])


@app.callback(
    Output(component_id='my-output', component_property='children'),
    Input(component_id='url', component_property='value'))
def update_output_div(value):
    return html.Div([
        html.H1('path is '.format(str(value)))
    ])

if __name__ == '__main__':
    app.run_server(debug=True, port= 8051)

我得到的输出为

enter image description here

【问题讨论】:

【参考方案1】:

在浏览器中输入网址http://127.0.0.1:8051/random?param1=cat&param2=dog

将显示猫和狗

import dash
from dash import dcc
from dash import html
from dash.dependencies import Input, Output
from furl import furl


app = dash.Dash(__name__)


app.config.suppress_callback_exceptions = True
app.layout = html.Div([
    # represents the URL bar, doesn't render anything
    dcc.Location(id='url', refresh=False),

    # content will be rendered in this element
    html.Div(id='content'),
])


@app.callback(Output('content', 'children'),
              [Input('url', 'href')])
def _content(href: str):
    f = furl(href)
    param1= f.args['param1']
    param2= f.args['param2']

    return html.H1(children=param1: param1 param2: param2' )

if __name__ == '__main__':
    app.run_server(debug=True, port= 8051)

【讨论】:

以上是关于从 dash python 中的 url 获取参数:此 ID 分配给布局中的 dash_core_components.Location 组件,不支持属性的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 Python 中的 Plotly 从 Dash 的下拉列表中选择数据集列?

Python Dash Basic Auth - 在应用程序中获取用户名

如何从 getInitialProps 中的 url 获取查询参数?

如何从 C# 中的相对 URL 字符串中获取参数?

从JSP中的URL获取参数[重复]

从 .NET 中的字符串获取 URL 参数