Hi, I have scripted an web app with dash.plotly. But having issues with it. Can anyone help me with it? I need it to be submitted tonight as a project.
Hello @moizbaloch1,
Welcome to the community!
This request is very vague, could you please provide more info about where you are having the issue.
Also, can you provide a MRE:
import dash
from dash import html, dcc
PopulationDistribution = dash.Dash(__name__, use_pages=True)
PopulationDistribution.layout = html.Div(
[
# main app framework
html.Div("WorldWide Population Distribution", style={'fontSize':50, 'textAlign':'center'}),
html.Div([
dcc.Link(page['name']+" | ", href=page['path'])
for page in dash.page_registry.values()
]),
html.Hr(),
# content of each page
dash.page_container
]
)
if __name__ == "__main__":
PopulationDistribution.run(debug=True)`Preformatted text`
Thank you, @moizbaloch1.
Do you have a pages folder in that directory? If not, your app wont load because it cant parse through any files.
Also, here is a standard way to initialize:
import dash
from dash import html, dcc, Dash
app = Dash(__name__, use_pages=True)
app.layout = html.Div(
[
# main app framework
html.Div("WorldWide Population Distribution", style={'fontSize':50, 'textAlign':'center'}),
html.Div([
dcc.Link(page['name']+" | ", href=page['path'])
for page in dash.page_registry.values()
]),
html.Hr(),
# content of each page
dash.page_container
]
)
if __name__ == "__main__":
app.run(debug=True, port=12345)
The main thing was that typically we call it app, that way its easier to reference and copy & paste code. ![]()
I have directory for pages and also data file
Hmm…
The application runs fine if I have a pages_folder.
Are you having issues with a specific folder? Can you copy my code and use it? Does it work?
Appis loading but , when i move to another page. there is an error that page not found Error 404
Can you post your other pages.py?
Do you have layout = in each?
import dash
from dash import dcc, html
import plotly.express as px
import pandas as pd
dash.register_page(__name__)
df = pd.read_csv(r'd:\New\Data.csv')
layout = html.Div(
[
dcc.Dropdown([x for x in df.year.unique()], id='cont-choice', style={'width':'50%'}),
dcc.Graph(id='line-fig',
figure=px.bar(df, x='country', y='population'))
]
)
Another Page> Blockquote
import dash
from dash import dcc, html
import plotly.express as px
import pandas as pd
dash.register_page(name)
df = pd.read_csv(r’d:\New\Data.csv’)
layout = html.Div(
[
dcc.Dropdown([x for x in df.year.unique()], id=‘cont-choice’, style={‘width’:‘50%’}),
dcc.Graph(id=‘line-fig’,
figure=px.bar(df, x=‘country’, y=‘population’))
]
)
Are there any errors in the console or anything that could shed some light?
if its okay, Can I email it to you , the zip file.
Issue is naming of the files leads to an incompatible path.
However, you can declare the path when you register the page and then it will work. ![]()
from dash import dcc, html
import plotly.express as px
import pandas as pd
dash.register_page(__name__, path='/pop_per_country_selected')
df = pd.read_csv(r'Data.csv')
layout = html.Div(
[
dcc.Dropdown([x for x in df.year.unique()], id='cont-choice', style={'width':'50%'}),
dcc.Graph(id='line-fig',
figure=px.bar(df, x='country', y='population'))
]
)
Thank you, still not working for me though
You’ll need to do it on all your files.
Is your main page loading with the graphs?
