小编Dan*_*use的帖子

如何让django在继续完成与请求相关的任务之前给出HTTP响应?

在我的django活塞API中,我想在调用另一个需要一段时间的函数之前向客户端发出/返回一个http响应.如何使yield产生包含所需JSON的HTTP响应,而不是与生成器对象的创建相关的字符串?

我的活塞处理程序方法如下所示:

def create(self, request):
    data = request.data 

    *other operations......................*

    incident.save()
    response = rc.CREATED
    response.content = {"id":str(incident.id)}
    yield response
    manage_incident(incident)
Run Code Online (Sandbox Code Playgroud)

而不是我想要的响应,如:

   {"id":"13"}
Run Code Online (Sandbox Code Playgroud)

客户端获取如下字符串:

 "<generator object create at 0x102c50050>"
Run Code Online (Sandbox Code Playgroud)

编辑:

我意识到使用yield是错误的方法,实质上我想要实现的是客户端在服务器进入manage_incident()的时间代价高昂的函数之前立即收到响应

django yield

6
推荐指数
1
解决办法
3926
查看次数

标签 统计

django ×1

yield ×1