在Django中,如何确定请求是否已被取消?

时间:2012-01-25 17:39:02

标签: django http comet

我在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中实现这个目标?

1 个答案:

答案 0 :(得分:0)

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