Частое обновление фронтенда angularjs данными в реальном времени с сервера django
Есть некоторые данные, которые будут часто отправляться с сервера django на angularjs, это данные, которые будут часто изменяться, и изменения будут обновляться на фронтэнде, когда изменения будут сделаны на бэкэнде. В точке, где данные становятся доступными, я вставил
views.py
send_event('test', 'message', {'text': dataModifiedFrequently})
asgi.py
application = ProtocolTypeRouter({
'http': URLRouter([
url(r'^event_url/', AuthMiddlewareStack(
URLRouter(django_eventstream.routing.urlpatterns)
), { 'channels': ['test'] }),
url(r'', get_asgi_application()),
]),
})
angular.js
$scope.EventSourceScope = function(){
if (typeof(EventSource) !== "undefined") {
var source = new EventSource('event_url');
source.onmessage = function (event) {
$scope.openListingsReport = event.data;
$scope.$apply();
console.log($scope.openListingsReport);
};
}
else {
// Sorry! No server-sent events support..
alert('SSE not supported by browser.');
}
}
Я использовал пакет Django EventStream и следовал примеру, я не вижу никакого результата в angularjs. но в моем браузер выдал мне ошибку
EventSource's response has a MIME type ("text/html") that is not "text/event-stream". Aborting the connection.
Я следовал примеру в https://github.com/fanout/django-eventstream.
Пожалуйста, как я могу заставить django отправлять данные в angularjs по мере их возникновения