【问题标题】:In Django, how to find out if a request has been canceled?在 Django 中,如何确定请求是否已被取消?
【发布时间】:2012-02-18 21:51:12
【问题描述】:

我在 Django 中有一个视图,它可以流式传输响应。 (想想大约 1999 年的网络聊天,或者彗星技术。)

def events(request):
    def generate_events():
        for i in range(10):
            time.sleep(2)
            yield " " * 1024
            yield "This is some text.\n"
    return HttpResponse(generate_events())

现在,我想检测用户何时取消加载页面,因为发送更多数据没有意义。理想情况下,应该是这样的:

if not request.is_alive():
    return

有没有办法在 Django 中实现这一点?

【问题讨论】:

    标签: django http comet


    【解决方案1】:

    我真的不认为你可以从服务器端做到这一点。但我相信你可以使用 JavaScript 来获得一些不错的结果。当 JS 停止向服务器请求内容时,“流”将消失,就像在取消请求的情况下一样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-23
      • 2011-01-28
      相关资源
      最近更新 更多