ValueError: server must be a Flask app or a boolean

ValueError: server must be a Flask app or a boolean

我正在尝试完成 django-plotly-dash documentation 中最简单的仪表板示例,但我一直收到上面的 ValueError。

对于下面的代码,假设 django 项目名称是 django_project,django 应用程序名称是 dashboard

我的ROOT_URLCONF在django_project/urls.py有如下相关代码:

import dashboard.dash_app
from dashboard.views import test_view

urlpatterns = [
    ...
    path('dashboard/', test_view, name='test_view'),
    path('django_plotly_dash/', include('django_plotly_dash.urls')),
]

我的仪表板应用程序视图位于 dashboard/views.py 如下:

from django.shortcuts import render

def test_view(request):
    return render(request, 'dashboard/main.html')

main.html模板如下:

from django.shortcuts import render

def test_view(request):
    return render(request, 'dashboard/main.html')
{% load plotly_dash %}

{% plotly_app name="SimpleExample" %}

最后,DjangoDash 应用程序实例在名为 dashboard/dash_app.py 的文件中创建。如前所示,这个模块是在django_project/urls.py中导入的,如上。代码如下:

import dash
import dash_core_components as dcc
import dash_html_components as html

from django_plotly_dash import DjangoDash

app = DjangoDash('SimpleExample')

app.layout = ...

@app.callback(...)
def callback_color(...):
    ...

在调试过程中,我唯一拥有的其他看似相关的信息是 base_pathname 是 '/django_plotly_dash/app/SimpleExample/'

还有其他想法吗?

我今天遇到了同样的问题。使用旧版本的 Dash (0.43.0) 为我解决了这个问题。

这是由于最近在 2019-06-20 更新了 Dash 1.0 版造成的。 Dash class 现在检查以确保 server 是布尔值或 Flask 的实例。由于 django plotly_dash 使用它自己的 PseudoFlask 对象,它无法通过此检查并且它与 Dash 1.0 不兼容,需要更新才能与当前的 Dash 版本一起使用。