我使用StreamingHttpResponse时,想在前端向用户展示处理状态。
我成功获取了当前的状态,但它会被添加到之前的状态之后。
我希望响应模板只包含当前的结果。
views.py
from django.shortcuts import render
from django.http import StreamingHttpResponse,HttpResponse
import time
def f1():
x = 0
while x<5:
time.sleep(1)
x = x+1
code = """<p>{}</p>""".format(x)
yield code
def home(request):
return StreamingHttpResponse(f1())
在浏览器中输出
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
期望输出
第1个: <p>1</p>
第2个: <p>2</p>
而不是 <p>1</p><p>2</p>
第3个: <p>3</p>
而不是 <p>1</p><p>2</p><p>3</p>
第4个: <p>4</p>
而不是 <p>1</p><p>2</p>3<p></p>4<p></p>
我希望模板被填充当前的yield,而不是附加以前的yield。