Django eventstream - только пустые данные
Я установил и следовал руководству из git, но при попытке выполнить вызов send_message()
с помощью shell я упираюсь в стену.
Я переписал asgi.py:
application = ProtocolTypeRouter({
"http": URLRouter([
path("msgs/", AuthMiddlewareStack(URLRouter(django_eventstream.routing.urlpatterns)), { "format-channels": ["test"] }),
re_path(r"", get_asgi_application()),
]),
})
и я создал записи в urls.py:
urlpatterns = [path("msgs/", include(django_eventstream.urls), {'format-channels': ["test"]})]
Я также добавил статические ресурсы в мою статическую директорию, и я могу получить к ним доступ на любой странице, которая включает мой base.html
. Но когда я открываю локальный канал msgs на 127.0.0.1\msgs\
я вижу только:
При открытии оболочки во втором терминале и использовании send_event("test", "message", {"text": "hello"})
я не вижу никаких признаков того, что что-либо отправляется на фронтенд. Также код примера JS из репозитория ничего не извлекает на главной странице при отправке данных в цикле с запуском django (используя фантастический планировщик huey здесь):
@periodic_task(crontab(minute = "*/1"))
def test():
send_event('test', 'message', {'text': 'hello world'})
print("hello world...")
Я вижу вывод print()
, но не результат send_message()
на фронтенде. Также, нет никакого намека на то, что мои запланированные или запущенные вручную действия send_message()
приводят к чему-либо на канале \msgs\
- время не соответствует, больше похоже, что это просто регулярная печать keep-alive без каких-либо данных в нем.