【问题标题】:ValueError: server must be a Flask app or a booleanValueError:服务器必须是 Flask 应用程序或布尔值
【发布时间】:2019-11-05 14:08:38
【问题描述】:

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

对于以下代码,假设 django 项目名称为 django_project,django 应用名称为 dashboard

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

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')

ma​​in.html模板如下:

from django.shortcuts import render

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

{% plotly_app name="SimpleExample" %}

最后,在名为 dashboard/dash_app.py 的文件中创建 DjangoDash 应用程序实例。如前所示,这个模块是在 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/'

还有其他想法吗?

【问题讨论】:

  • 能否请您发布回溯

标签: django plotly-dash


【解决方案1】:

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

【讨论】:

  • 谢谢。这是问题的根源。使用 Dash 0.43.0 也为我解决了这个问题。
  • v0.9.13 of django-plotly-dash 刚刚发布;这修复了最近的 Dash 更改。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2017-07-02
    • 2016-05-11
    • 1970-01-01
    • 2021-05-21
    • 1970-01-01
    • 1970-01-01
    • 2015-03-03
    • 2017-12-28
    • 2019-10-20
    相关资源
    最近更新 更多