Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py", line 231, in _get_response_async
response = await wrapped_callback(request, *callback_args, **callback_kwargs)
=
File "/usr/local/lib/python3.7/site-packages/django/http/response.py", line 386, in _set_streaming_content
self._iterator = iter(value)
TypeError: 'async_generator' object is not iterable
解决方式:创建一个名为stream的装饰器,它可以与一个协程函数一起使用,使其与Django的StreamingHttpResponse兼容。
下面是一个例子:
1.url.py
# url
path('v1/index', index),
2.view.py
import asyncio
import functools
from django.http import StreamingHttpResponse
def stream(coroutine_function):
@functools.wraps(coroutine_function)
def wrapper(*args, **kwargs):
coroutine