ValueError: сервер должен быть приложением Flask или логическим значением - PullRequest
0 голосов
/ 23 июня 2019

Я пытаюсь проработать простейший пример панели инструментов в документации django-plotly-dash , но я последовательно получаю ошибку 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 /'

Есть еще идеи?

Ответы [ 2 ]

1 голос
/ 24 июня 2019

Это вызвано недавним обновлением Dash версии 1.0 на 2019-06-20. Класс Dash теперь проверяет, является ли server логическим значением или экземпляром Flask. Поскольку django plotly_dash использует свой собственный объект PseudoFlask, он не проходит эту проверку и несовместим с Dash 1.0, и его необходимо обновить для использования с текущей версией Dash.

0 голосов
/ 24 июня 2019

Я испытал ту же проблему сегодня. Использование более старой версии Dash (0.43.0) решило это для меня.

...