문제:
Flask 보기, 형식화된 HTML 내에서 동적으로 표시하려고 합니다. template.
답변:
Flask 응답 내에서 데이터 스트리밍은 가능하지만 클라이언트측 콘텐츠를 직접 업데이트하는 것은 불가능합니다. 원하는 결과를 얻으려면 JavaScript와 다음 방법을 활용하세요.
# Server-side Flask code @app.route("/stream") def stream(): def generate(): for i in range(500): yield "{}\n".format(sqrt(i)) sleep(1) return app.response_class(generate(), mimetype="text/plain") # Client-side JavaScript var timer = setInterval(function() { // Handle new data if (xhr.readyState == XMLHttpRequest.DONE) { clearInterval(timer); } }, 1000);
# Server-side Flask code @app.route("/stream") def stream(): @stream_with_context def generate(): yield render_template_string('<link rel=stylesheet href="{{ url_for("static", filename="stream.css") }}">') for i in range(500): yield render_template_string("<p>{{ i }}: {{ s }}</p>\n", i=i, s=sqrt(i)) sleep(1) return app.response_class(generate())
<!-- Client-side HTML --> <iframe src="{{ url_for("stream") }}"></iframe>
참고:
위 내용은 Flask 보기에서 스트리밍되는 실시간 데이터로 HTML 템플릿을 어떻게 동적으로 업데이트할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!