Flask 뷰에서 스트리밍된 데이터를 실시간으로 표시
Flask에서는 뷰에서 데이터를 스트리밍하는 것이 간단합니다. 그러나 이 스트림으로 HTML 템플릿을 동적으로 업데이트하는 것은 불가능합니다.
JavaScript 및 XMLHttpRequest
한 가지 해결책은 JavaScript와 XMLHttpRequest를 사용하는 것입니다. 다음을 수행할 수 있습니다.
예:
# App app = flask.Flask(__name__) # Streaming view @app.route('/') def index(): def generate(): # Simulate data generation for i in range(500): yield str(i) + '<br/>\n' return flask.Response(generate(), mimetype='text/html') # Run the app app.run(debug=True)
<!-- Template --> <p>Latest output: <span>
Iframe 사용
또 다른 접근 방식은 다음을 사용하는 것입니다. 스트리밍 HTML 출력을 표시하는 iframe. 스타일링 유연성과 기타 장점이 있지만 단점도 있습니다.
예:
index.html(기본 템플릿)
<p>All output:</p> <iframe src="{{ url_for('stream') }}"></iframe>
스트리밍 보기
@app.route('/stream') def stream(): @stream_with_context def generate(): yield '<link rel=stylesheet href="{{ url_for('static', filename='stream.css') }}">' for i in range(500): yield '<p>{{ i }}: {{ s }}</p>\n'.format(i=i, s=math.sqrt(i)) sleep(1)
stream.css(선택적 스타일시트)
body { font-family: sans-serif; } p { margin-bottom: 10px; }
JavaScript/XMLHttpRequest 또는 iframe 메소드를 활용하면 다음을 효과적으로 수행할 수 있습니다. Flask 보기에서 스트리밍된 데이터를 표시하고 실시간으로 업데이트를 유지합니다.
위 내용은 Flask 보기에서 스트리밍된 실시간 데이터를 어떻게 표시할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!