Skip to content

[BUG]-Pages redirection doesn't on DE workspace #3549

@andre996

Description

@andre996

Describe your context
when using redirect_from in one of the pages it return 404 on the DE workspace, however, it works fine once the app is deployed.

dash                 3.3.0

pages/overview.py

from dash import html
import dash

dash.register_page(
    __name__,
    title="New Home Page",
    path="/overview",
    redirect_from=['/home']
)


layout = html.Div([
        html.H1('This is our Overview page'),
        html.Div('This is our Overview page content.'),
    ])

app.py

import dash_mantine_components as dmc
import dash
from dash import dash, Dash, dcc
from dash_iconify import DashIconify
import os
from flask import  redirect


app = Dash(__name__, use_pages=True)

server = app.server

logo = "2026_renewal_logo.svg"

def create_main_nav_link(icon, label, href):
    return dcc.Link(
        dmc.Group(
            align='center',
            gap=10,
            style={'margin-bottom':5},
            children=[
                dmc.ThemeIcon(
                    DashIconify(icon=icon, width=36, color = 'white'),
                    size=48,
                    radius=5,
                    color='red',
                    variant="filled",
                    style={'margin-left':10}
                ),
                dmc.Text(label, size="xl", c="gray", style={'font-family':'IntegralCF-Regular'}),
            ]
        ),
        href=app.get_relative_path(href),
        style={"textDecoration": "none"},
    )

layout = dmc.AppShell(
    [
        dmc.AppShellNavbar(
            id="navbar",
            children=[
                dmc.Center(
                    dmc.Image(src=app.get_asset_url(logo), h=280, flex=0),
                ),
                dmc.Divider(),
                create_main_nav_link('bi:speedometer2','Overview', '/overview')
            ],
            p="md",
        ),
        dmc.AppShellMain(dash.page_container),
    ],
    navbar={
        "width": 500,
        "breakpoint": "sm",
        "collapsed": {"mobile": True, "desktop": False},
    },
    padding="md",
    id="appshell",
)

app.layout = dmc.MantineProvider(layout)


if __name__ == "__main__":
    app.run(debug=True) 

FYI: When I changed fullname for the routes path it worked

fullname = app.get_relative_path(redirect)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions