Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

296
Vistas
Cannot connect JS Event Source to Python (Django) backend server

I'm working with Django Framework + Javascript and want to create a server-sent event which gonna send messages to the front-end.

Here is my Js-client part:

btn.addEventListener('click', function(event){
console.log('started...');

var url = new URL('http://127.0.0.1:8000/get/stream/data/');
var source = new EventSource(url);

source.onopen = function(){
console.log('Source has been connected....');
};

console.log(source);
source.onmessage = function(event){
data = JSON.parse(event.data);

console.log('on message event', event, data);
console.log(event);

};

source.onerror = function(err) {
source.close();
console.error("EventSource failed:", err);
};

source.onclose = function(){
evtSource.close();
console.log('event source has been closed');
}
});

Python-Django part:

def prepare_stream_data():
import json
from django.core.serializers.json import DjangoJSONEncoder
while True:

    for i in range(30):
        yield json.dumps('%s' % i, cls=DjangoJSONEncoder)
        print(i)
        time.sleep(5)

def send_stream_data(request):
    stream_data = prepare_stream_data()

    response = django.http.StreamingHttpResponse(stream_data,
    content_type='text/event-stream')

    return response

urls.py

path('get/stream/data/', main_course_api.send_stream_data, name='stream_data')

Django basically works and I see the result in console...., when I click on the button, but it shows me in JS console, that event source is not connected (readyState equals to 0) and does not receive any messages) :(

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda