这可能是一个非常奇怪或愚蠢的问题,但是为什么我不能在Django视图中使用yield
而不是return
呢?
假设我有一个简单的视图:
def return_index(request):
return render(request, 'index.html')
为什么下一个视图在Django中不起作用:
def yield_index(request):
list_of_templates = ['index.html', 'foo.html', 'bar.html']
for i in range(len(list_of_templates)):
time.sleep(5)
yield render(request, list_of_templates[i])
假设yield_index
视图每5秒返回一次不同的视图。
发布于 2018-09-19 10:25:52
例如在view.py
中
import time
from django.http import StreamingHttpResponse
# Create your views here.
def yield_index(t):
list_of_templates = ['index.html', 'foo.html']
for i in range(len(list_of_templates)):
time.sleep(t)
yield list_of_templates[i] #render(request, list_of_templates[i])
def home(request):
return StreamingHttpResponse(yield_index(5))
https://stackoverflow.com/questions/52403371
复制相似问题