Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 多页短跑应用程序_Python_Flask_Plotly Dash - Fatal编程技术网

Python 多页短跑应用程序

Python 多页短跑应用程序,python,flask,plotly-dash,Python,Flask,Plotly Dash,我正在尝试构建一个多页面的Dash应用程序。当我运行以下代码时,一切正常,除了它不会路由到我的/dash_1或/dash_2 URL。我想知道是否有人能帮我 我的结构如下所示: 短跑项目/ 附件1/ app.py 附件2/ app.py server.py run.py 我的run.py代码是 from app import server as application from app import app import app_1.dash_1 import app_2.dash_2 im

我正在尝试构建一个多页面的Dash应用程序。当我运行以下代码时,一切正常,除了它不会路由到我的/dash_1或/dash_2 URL。我想知道是否有人能帮我

我的结构如下所示:

短跑项目/ 附件1/ app.py

附件2/ app.py

server.py run.py

我的run.py代码是

from app import server as application
from app import app

import app_1.dash_1
import app_2.dash_2
import dash 
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output
import pandas as pd 

from app import app, server  

app = dash.Dash(name='dash_2', sharing=True, 
url_base_pathname='/dash_2', csrf_protect=False) 

app.config['suppress_callback_exceptions']=True 

df = pd.read_csv('/Users/ds/app_2/slice.csv')



layout = html.Div(children=[
html.H1(children='Bars'),

html.Div(children='''
    One Bite....
'''),

dcc.Graph(
    id='slice.csv',
    figure={
        'data': [
        {'x':df['Slice'], 'y': df['Score'], 'type': 'bar'},
        ],
        'layout': {
            'title': 'Bars'
            }
        }
    )


])
我的app.py代码是:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from werkzeug.wsgi import DispatcherMiddleware
import os
import pandas as pd
import dash
import flask

import dash
import dash_core_components as dcc
import dash_html_components as html
import pandas as pd
import plotly.graph_objs as go
from analysis import *

server=flask.Flask(name)
app = dash.Dash(name)
app.config.suppress_callback_exceptions = True

app.css.append_css({
‘external_url’: ‘https://codepen.io/chriddyp/pen/bWLwgP.css’
})
import dash 
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output 
import pandas as pd
import plotly.graph_objs as go
from analysis import * 

from app import app, server 

app = dash.Dash(name='dash_1', sharing=True, 
url_base_pathname='/dash_1', csrf_protect=False) 

app.config['suppress_callback_exceptions']=True

df = pd.read_csv('/Users/ds/app_1/main.csv')

layout = html.Div([
dcc.Graph(
    id='Senators ',
    figure={
        'data': [
            go.Scatter(
                x=df[df['candidate'] == i] 
['contributor_individual'],
                y=df[df['candidate_name'] == i]['contributor'],
                #z=df[df['candidate_name'] == i]['contributor'],
                text=df[df['candidate_name'] == i]['contributorl'],
                mode='markers',
                opacity=0.7,
                marker={
                    'size': 15,
                    'line': {'width': 0.5, 'color': 'white'}
                },
                name=i
            ) for i in df.candidate_name.unique()
        ],
        'layout': go.Layout(
            xaxis={'title': 'Contributor '},
            yaxis={'title': 'Contributor '},
            #margin={'l': 40, 'b': 40, 't': 10, 'r': 10},
            #legend={'x': 0, 'y': 1},
            hovermode='closest'
            )
        }
    )
])

layout = html.Div(children=[
html.H1(children='Senators '),

html.Div(children='''
    God Bless.
'''),

dcc.Graph(
    id='main.csv',
    figure={
        'data': [
        {'x':df['candidate'], 'y': df['sectorl'], 'type': 'bar'},
        {'x':df['candidate'], 'y': df['industry'], 'type': 'bar'},
        {'x':df['candidate'], 'y': df['contributor'], 'type': 'bar'},
        ],
        'layout': {
            'title': 'Let Them Eat...'
            }
        }
    )
])
我的dash_1.py代码是:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from werkzeug.wsgi import DispatcherMiddleware
import os
import pandas as pd
import dash
import flask

import dash
import dash_core_components as dcc
import dash_html_components as html
import pandas as pd
import plotly.graph_objs as go
from analysis import *

server=flask.Flask(name)
app = dash.Dash(name)
app.config.suppress_callback_exceptions = True

app.css.append_css({
‘external_url’: ‘https://codepen.io/chriddyp/pen/bWLwgP.css’
})
import dash 
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output 
import pandas as pd
import plotly.graph_objs as go
from analysis import * 

from app import app, server 

app = dash.Dash(name='dash_1', sharing=True, 
url_base_pathname='/dash_1', csrf_protect=False) 

app.config['suppress_callback_exceptions']=True

df = pd.read_csv('/Users/ds/app_1/main.csv')

layout = html.Div([
dcc.Graph(
    id='Senators ',
    figure={
        'data': [
            go.Scatter(
                x=df[df['candidate'] == i] 
['contributor_individual'],
                y=df[df['candidate_name'] == i]['contributor'],
                #z=df[df['candidate_name'] == i]['contributor'],
                text=df[df['candidate_name'] == i]['contributorl'],
                mode='markers',
                opacity=0.7,
                marker={
                    'size': 15,
                    'line': {'width': 0.5, 'color': 'white'}
                },
                name=i
            ) for i in df.candidate_name.unique()
        ],
        'layout': go.Layout(
            xaxis={'title': 'Contributor '},
            yaxis={'title': 'Contributor '},
            #margin={'l': 40, 'b': 40, 't': 10, 'r': 10},
            #legend={'x': 0, 'y': 1},
            hovermode='closest'
            )
        }
    )
])

layout = html.Div(children=[
html.H1(children='Senators '),

html.Div(children='''
    God Bless.
'''),

dcc.Graph(
    id='main.csv',
    figure={
        'data': [
        {'x':df['candidate'], 'y': df['sectorl'], 'type': 'bar'},
        {'x':df['candidate'], 'y': df['industry'], 'type': 'bar'},
        {'x':df['candidate'], 'y': df['contributor'], 'type': 'bar'},
        ],
        'layout': {
            'title': 'Let Them Eat...'
            }
        }
    )
])
我的dash_2.py代码是

from app import server as application
from app import app

import app_1.dash_1
import app_2.dash_2
import dash 
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output
import pandas as pd 

from app import app, server  

app = dash.Dash(name='dash_2', sharing=True, 
url_base_pathname='/dash_2', csrf_protect=False) 

app.config['suppress_callback_exceptions']=True 

df = pd.read_csv('/Users/ds/app_2/slice.csv')



layout = html.Div(children=[
html.H1(children='Bars'),

html.Div(children='''
    One Bite....
'''),

dcc.Graph(
    id='slice.csv',
    figure={
        'data': [
        {'x':df['Slice'], 'y': df['Score'], 'type': 'bar'},
        ],
        'layout': {
            'title': 'Bars'
            }
        }
    )


])

任何帮助都将不胜感激-我似乎无法理解这一点-谢谢

您需要将flask应用程序传递到Dash实例。 像这样

app = dash.Dash(__name__, server=server)
所以,请尝试导入服务器,并将其作为参数包含在app1和app2中的Dash实例中。 像这样:


希望有帮助。

@Franrey Saycon完全正确。你进口的东西太多了。如果这对任何人都有帮助的话,我创建了一个,并解释了文件夹/文件结构和库导入


感谢您的帮助-当我不幸地运行代码时,我得到以下信息:AttributeError:“NoneType”对象没有属性“traverse”,可能是因为您声明了两次dash。删除app.py中的声明以及app1和app2中的导入我有点困惑-你是说删除。。。app=dash.dash(name,server=server)从app.py中删除,并从app import server中从dash_1和dash_2中删除?没错,删除app.py中的
app=dash.dash(name,server=server)
。因为您还将我希望您删除的上述应用程序导入到app1和app2。只需从app import app,server的import语句
中删除app即可。仅从应用程序导入服务器将其更改为