我正在尝试在Django Framework中实现服务器发送事件(SSE)。对我来说很明显,我可以实现view
这样的:
@csrf_exempt
def event_stream(request):
def eventStream():
yield "data:Server Sent Data\n\n"
response = HttpResponse(eventStream(), content_type="text/event-stream")
response['Cache-Control'] = 'no-cache'
return response
但是我想每当在数据库表中从该表的表中创建一个新条目时就触发SSE调用post_save
,因为eventStream
这里是一个生成器函数,在这里我怎么能实现这一点。
Django是围绕请求/响应周期构建的,这意味着它不适用于websocket甚至SSE。在您的示例中,除非您在视图中使用预订队列(rabbitmq,redis pubsub)并在信号处理程序中发送数据,否则无法将post_save信号传播到视图。
考虑从服务器推送的其他解决方案:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句