Python 在Dash应用程序中调用本地CSS文件
我试图在本地托管4个css文件时运行。我已经成功地使用了一个变通方法,并在Dash中本地托管了一个css文件,但无法同时调用所有4个css文件 这是当前的Vanguard dash应用程序,外部托管css文件:Python 在Dash应用程序中调用本地CSS文件,python,plotly,plotly-dash,Python,Plotly,Plotly Dash,我试图在本地托管4个css文件时运行。我已经成功地使用了一个变通方法,并在Dash中本地托管了一个css文件,但无法同时调用所有4个css文件 这是当前的Vanguard dash应用程序,外部托管css文件: external_css = ["https://cdnjs.cloudflare.com/ajax/libs/normalize/7.0.0/normalize.min.css", "https://cdnjs.cloudflare.com/ajax/libs/skeleto
external_css =
["https://cdnjs.cloudflare.com/ajax/libs/normalize/7.0.0/normalize.min.css",
"https://cdnjs.cloudflare.com/ajax/libs/skeleton/2.0.4/skeleton.min.css",
"//fonts.googleapis.com/css?family=Raleway:400,300,600",
"https://codepen.io/bcd/pen/KQrXdb.css",
"https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"]
for css in external_css:
app.css.append_css({"external_url": css})
我尝试在本地托管css文件:
app.scripts.config.serve_locally = True
app.css.config.serve_locally = True
....
app.layout = html.Div([
html.Link(href='/assets/skeleton.min.css', rel='stylesheet'),
html.Link(href='/assets/skelly.css', rel='stylesheet'),
html.Link(href='/assets/normalize.min.css', rel='stylesheet'),
html.Link(href='/assets/font.css', rel='stylesheet'),
dcc.Location(id='url', refresh=False),
html.Div(id='page-content')
])
....
@app.server.route('/assets/<path:path>')
def static_file(path):
static_folder = os.path.join(os.getcwd(), 'assets')
return send_from_directory(static_folder, path)
app.scripts.config.service\u locally=True
app.css.config.service_locally=True
....
app.layout=html.Div([
html.Link(href='/assets/skeleton.min.css',rel='stylesheet'),
html.Link(href='/assets/skelly.css',rel='stylesheet'),
html.Link(href='/assets/normalize.min.css',rel='stylesheet'),
html.Link(href='/assets/font.css',rel='stylesheet'),
dcc.Location(id='url',refresh=False),
html.Div(id='page-content')
])
....
@app.server.route(“/assets/”)
def静态_文件(路径):
static_folder=os.path.join(os.getcwd(),'assets')
从\u目录返回发送\u(静态\u文件夹,路径)
应用程序当前加载时没有任何样式。不知道为什么它连一个css文件都不会加载。我目前也有同样的问题,所以如果你找到答案,请在这里添加它!。。。我没有解决方案,但以下是我所做的研究,以防您没有看到以下任何一项:
我在加载本地文件时遇到了同样的问题。问题出在@app.server.route中。我把它改成:
@app.server.route('/static/<path>')
@app.server.route(“/static/”)
它成功了
编辑:从Dash 0.22开始,您现在只需要将css文件放在资产文件夹中