2016-07-07 13 views
0

Ich versuche, einen Webserver, der ein Bild mit Django dienen und ein Bild zu aktualisieren, wenn es auf dem Server ändern. Momentan benutze ich die Bibliothek gstreamer, die jede Sekunde einen Screenshot von meinem Desktop macht und ich möchte dieses Bild mit Django an einen Webbrowser senden.Django Bild streaming

Ich versuche, so etwas wie dieses:

view.py:

def stream(): 
    while True: 
     open_file = open("picture.jpeg", 'rb') 
     yield open_file.read() 
     time.sleep(1) 

def vue(request): 
    return StreamingHttpResponse(stream(), content_type="image/jpeg") 


def index(request): 
    return render(request, 'polls/index.html') 

index.html:

<img src="{% url 'vue' %}"/> 

Wenn jedoch die Bildwechsel auf dem Server, spielt es keine Änderung im Webbrowser ... Irgendeine Idee? Ist es möglich, mit Django zu tun?

Antwort

-1

Wenn ich verstehe, was Sie richtig wollen, dann möchten Sie etwas, das Zwei-Wege-Datenbindung genannt wird. Es wird normalerweise mit Ihrem Frontend-Framework ausgeführt. Dies ist nicht etwas, das in Ihrem views.py getan wird. Ich weiß, dass AngularJS dazu fähig ist.

+0

Ich denke, das kann auf der Serverseite getan werden. Es ist möglich mit Flask (https://github.com/miguelgrinberg/flask-video-streaming) und ich versuche so etwas zu machen, aber mit Django ... Vielleicht ist es nicht möglich und du hast Recht! – gwen1232