小编典典

每隔几秒钟更新一次HttpResponse

sql

我在Django中的应用程序 可以 创建一些 非常大的SQL查询。我目前使用一个HttpRequest对象,作为我需要的数据,然后使用一个HttpResponse,以返回要显示给用户的内容。

显然,我可以让用户等待一分钟,同时正在执行这些许多查询集并从数据库中提取查询,然后返回此单一HTML页面。

理想情况下,我想在需要时更新页面,例如:

For i,e in enumerate(example):

    Table.objects.filter(someObjectForFilter[i]).

    #Return the object to the page.
    #Then Loop again, 'updating' the response after each iteration.

这可能吗?


阅读 223

收藏
2021-05-16

共1个答案

小编典典

我最近发现HttpResponse可以是生成器:

def myview(request, params):
    return HttpResponse(mygenerator(params))


def mygenerator(params):
    for i,e in enumerate(params):
        yield '<li>%s</li>' % Table.objects.filter(someObjectForFilter[i])

这将逐步将结果返回mygenerator到页面,并以HTML格式包装<li>以显示。

2021-05-16