我在Django中的应用程序 可以 创建一些 非常大的SQL查询。我目前使用一个HttpRequest对象,作为我需要的数据,然后使用一个HttpResponse,以返回要显示给用户的内容。
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.
这可能吗?
我最近发现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>以显示。
mygenerator
<li>