django利用html5的sse从服务端向浏览器发数据触发更新

django利用html5的sse从服务端向浏览器发数据触发更新,第1张

django中
template

<!DOCTYPE html>
<html>
<body>

<h1>Getting server updates</h1>
<div id="result"></div>

<script>
if(typeof(EventSource) !== "undefined") {
  var source = new EventSource("stream/");
  source.onmessage = function(event) {
    document.getElementById("result").innerHTML += event.data + "

"; }; } else { document.getElementById("result").innerHTML = "Sorry, your browser does not support server-sent events..."; } </script> </body> </html>

views

import datetime
import time
from django.http import StreamingHttpResponse

def stream(request):
    def event_stream():
        while True:
            time.sleep(3)
            yield 'data: The server time is: %s\n\n' % datetime.datetime.now()
    return StreamingHttpResponse(event_stream(), content_type='text/event-stream')

urls

urlpatterns = [
    path('stream/', views.stream, name='stream')
]
`
``
参考:https://stackoverflow.com/questions/54326515/how-can-i-make-sse-with-python-django

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/718015.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-25
下一篇2022-04-25

发表评论

登录后才能评论

评论列表(0条)

    保存