django_plotly_dash,plotly dash url 导航不工作

问题描述 投票:0回答:0

我正在使用 plotly dash 构建仪表板。

对于Web框架,我使用了Django框架进行身份验证和嵌入其他应用程序。

使用 django_plotly_dash 库将 plotly dash 与 Django 集成。

我尝试使用 django_plotly_dash 包将 dash 应用程序集成到 django 中。

情节破折号导航:

from django_plotly_dash import DjangoDash

app = DjangoDash('SimpleExample',
    external_stylesheets=[dbc.themes.SOLAR, dbc.themes.SPACELAB, dbc.themes.BOOTSTRAP])

profile_menu = dmc.Menu(
            [
                dmc.MenuTarget(dmc.Avatar("BR", color="blue",radius="xl",id="user_profile_dropdown")),
                dmc.MenuDropdown(
                    [
                        dmc.MenuItem(
                            "Profile",
                            href="/my-profile",
#                             target="_blank",
                            icon=DashIconify(icon="streamline:interface-user-profile-focus-close-geometric-human-person-profile-focus-user"),
                        ),
                        dmc.MenuItem(
                            "Logout",
                            icon=DashIconify(icon="majesticons:logout-half-circle"),
                            href='/logout',
                            id='logout-button'
                        ),
                    ]
                ),
            ],
        trigger="hover",
#         position='top-end',
        style=right_align_style,
    )

app.layout = html.Div([
      profile_menu 
])

welcome.html

<!DOCTYPE html>
<html lang="en">
    <head>
        <script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
    </head>
    {% comment %} <h1>Dash Home page</h1> {% endcomment %}
    <body>
        {% load plotly_dash %}
        <div class="{% plotly_class name='SimpleExample' %} card" style="height: 100%; width: 100%">
            {% plotly_app name='SimpleExample' ratio=0.65 %}
        </div>

    </body>
</html>

SimpleExample 是我的 DjangoDash 应用名称。

Django 网址:

urlpatterns = \[
path('',views.home, name='home-page'),
path('login',views.login_user.as_view(), name='login-url'),
path('plotly_home',views.dash, name='plotly-home'),
path('logout',views.logout_user, name='logout-url'),
path('django_plotly_dash', include('django_plotly_dash.urls'))
\]

plotly_home 端点将呈现显示破折号应用程序的 welcome.html 页面。

输出:

问题: 默认情况下,它在 html Iframe 中呈现我的破折号应用程序。 因此,任何更改或 URL 更改都不会反映在该 iframe 之外。所以 plotly dash 导航链接不起作用。

我有一个注销按钮,其中 href='/logout' 是 django 中的端点。因此,当您点击 /logout 时,它应该转到注销端点。但是没有任何事件发生。

期待 当我单击破折号的注销按钮时,它应该重定向到注销 url 端点。 只有 plotly dash 单独导航工作但使用 django_plotly_dash 库与 django 集成它不起作用。

任何帮助表示赞赏! 谢谢!

django plotly plotly-dash
© www.soinside.com 2019 - 2024. All rights reserved.