首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有女服务员的Python Dash服务器

带有女服务员的Python Dash服务器
EN

Stack Overflow用户
提问于 2021-05-14 01:09:55
回答 1查看 894关注 0票数 1

我有一个用Dash框架编写的仪表板应用程序。它还有一些使用flask编写的Restful API。我正在将flask应用程序添加到Dash服务器,因为

代码语言:javascript
复制
import dash
import flask
import dash_bootstrap_components as dbc

flask_server = flask.Flask(__name__)
app = dash.Dash(__name__,server=flask_server, external_stylesheets=[dbc.themes.BOOTSTRAP])

并以如下方式运行服务器:

代码语言:javascript
复制
from dashboard import app
from waitress import serve

if __name__ == "__main__":
    app.title = 'Litmus'
    app.run_server(debug=False)
    # serve(app,host="0.0.0.0",port=8050)

当我使用app.run_server(debug=False)时,上面的代码运行得很好,但是当我使用waitress运行服务器时,它抛出了excetion。当我使用以下几行代码时

代码语言:javascript
复制
#app.run_server(debug=False)
serve(app,host="0.0.0.0",port=8050)

我得到以下错误

代码语言:javascript
复制
ERROR:waitress:Exception while serving /
Traceback (most recent call last):
  File "C:\Users\litmus\AppData\Roaming\Python\Python38\site-packages\waitress\channel.py", line 397, in service
    task.service()
  File "C:\Users\litmus\AppData\Roaming\Python\Python38\site-packages\waitress\task.py", line 168, in service
    self.execute()
  File "C:\Users\litmus\AppData\Roaming\Python\Python38\site-packages\waitress\task.py", line 434, in execute
    app_iter = self.channel.server.application(environ, start_response)
TypeError: 'Dash' object is not callable
ERROR:waitress:Exception while serving /favicon.ico
Traceback (most recent call last):
  File "C:\Users\litmus\AppData\Roaming\Python\Python38\site-packages\waitress\channel.py", line 397, in service
    task.service()
  File "C:\Users\litmus\AppData\Roaming\Python\Python38\site-packages\waitress\task.py", line 168, in service
    self.execute()
  File "C:\Users\litmus\AppData\Roaming\Python\Python38\site-packages\waitress\task.py", line 434, in execute
    app_iter = self.channel.server.application(environ, start_response)
TypeError: 'Dash' object is not callable
EN

回答 1

Stack Overflow用户

发布于 2021-05-14 04:55:51

它不起作用是因为你将Dash应用程序而不是Flask应用程序传递给了serve

因此,不是这样:

代码语言:javascript
复制
serve(app,host="0.0.0.0",port=8050)

按如下方式传递Flask应用程序实例:

代码语言:javascript
复制
serve(app.server, host="0.0.0.0", port=8050)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67523343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档