Verwendung von add_url_rule schlägt fehl, aber @ app.route ('') funktioniert gut.Python Flask: Route vs add_url_rule, SSE
Hallo, ich versuche SSE (Server Sent Events) zu einer Python Flask App hinzuzufügen. Leider verwendet die App SOMEOBJECT.app.add_url_rule
, um Routen zu verwalten, daher funktioniert die Verwendung der Dekoratoren in diesem Fall nicht für mich.
from flask import Flask, Response
import random
import time
app = Flask(__name__)
def eventStream():
# will send simple SSE style responses
while True:
waittt = random.random()
time.sleep(waittt)
yield "data: {}\n\n".format(str(waittt))
# This route works fine :)
@app.route("/streamroute")
def stream():
return Response(eventStream(), mimetype="text/event-stream")
# This route doesn't work :(
app.add_url_rule("/stream", stream)
app.run(debug=True)
OK curl http://localhost:5000/streamroute
KO curl http://localhost:5000/stream
'Traceback (zuletzt letzter Aufruf): ... Datei" /Library/Python/2.7/site-packages/flask/ctx.py ", Zeile 251, in __init__ blueprint = self.request.blueprint Datei "/Library/Python/2.7/site-packages/flask/wrappers.py", Zeile 97, in Blueprint wenn self.url_rule und '.' in self.url_rule.endpoint: TypeError: Argument des Typs 'Funktion' ist nicht iterierbar – thomas