Python 无法在dash应用程序中加载静态css文件
我已经构建了一个单页dash应用程序,当作为单个文件运行时,它会按预期运行,但当我尝试将其作为一个整体应用程序运行时,CSS无法正确加载 下面是我的文件夹结构 当我通过Python 无法在dash应用程序中加载静态css文件,python,css,django,pycharm,plotly-dash,Python,Css,Django,Pycharm,Plotly Dash,我已经构建了一个单页dash应用程序,当作为单个文件运行时,它会按预期运行,但当我尝试将其作为一个整体应用程序运行时,CSS无法正确加载 下面是我的文件夹结构 当我通过manage.py加载整个应用程序时,下面是我得到的错误 Internal Server Error: /assets/internal.css Traceback (most recent call last): File "C:\Users\Tushar\Documents\serato_video_analyser\v
manage.py加载整个应用程序时,下面是我得到的错误
Internal Server Error: /assets/internal.css
Traceback (most recent call last):
File "C:\Users\Tushar\Documents\serato_video_analyser\video_analyser\lib\site-packages\django\core\handlers\exception.py", line 34, in inner
response = get_response(request)
File "C:\Users\Tushar\Documents\serato_video_analyser\video_analyser\lib\site-packages\django\core\handlers\base.py", line 126, in _get_response
response = self.process_exception_by_middleware(e, request)
File "C:\Users\Tushar\Documents\serato_video_analyser\video_analyser\lib\site-packages\django\core\handlers\base.py", line 124, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\Tushar\Documents\serato_video_analyser\video_analyser\my_project\analyser_tool\views.py", line 32, in dash_index
return HttpResponse(dispatcher(request))
File "C:\Users\Tushar\Documents\serato_video_analyser\video_analyser\my_project\analyser_tool\views.py", line 27, in dispatcher
return response.get_data()
File "C:\Users\Tushar\Documents\serato_video_analyser\video_analyser\lib\site-packages\werkzeug\wrappers.py", line 986, in get_data
self._ensure_sequence()
File "C:\Users\Tushar\Documents\serato_video_analyser\video_analyser\lib\site-packages\werkzeug\wrappers.py", line 1035, in _ensure_sequence
raise RuntimeError('Attempted implicit sequence conversion '
RuntimeError: Attempted implicit sequence conversion but the response object is in direct passthrough mode.
这是我唯一的第二个dash应用程序,我正在工作,不幸的是没有太多的经验。如果有人能帮我解决这个问题,我真的很高兴。我已经挣扎了几天了
提前多谢 通过不断的研究,我通过在server.py中添加以下内容解决了这个问题
css_directory = os.getcwd()
stylesheets = ['stylesheet.css']
static_css_route = '/static/'
@app.server.route('{}<stylesheet>'.format(static_css_route))
def serve_stylesheet(stylesheet):
if stylesheet not in stylesheets:
raise Exception(
'"{}" is excluded from the allowed static files'.format(
stylesheet
)
)
return flask.send_from_directory(css_directory, stylesheet)
for stylesheet in stylesheets:
app.css.append_css({"external_url": "/static/{}".format(stylesheet)})
css_directory=os.getcwd()
样式表=['stylesheet.css']
静态路径='/static/'
@app.server.route({}.format(static_css_route))
def SERVER_样式表(样式表):
如果样式表不在样式表中:
引发异常(
“{}”已从允许的静态文件中排除。格式(
样式表
)
)
返回flask.send_from_目录(css_目录,样式表)
对于样式表中的样式表:
append_css({“外部url”:“/static/{}.format(样式表)})
这个答案以前已经回答过了,取材于