PickleDjango请求对象

发布于 2021-01-29 17:01:01

我正在尝试Pickle一个请求对象,以便可以使用有效输入在调试器中运行视图代码。但是,我越来越

Can't pickle 'lock' object: <thread.lock object at 0x93ad240>

我浏览了请求对象,但在其中的任何地方都找不到thread.lock对象。有人知道它在哪里吗?有没有更好的方法来解决这个问题?

关注者
0
被浏览
40
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    通常,您不能为任何Web服务器腌制HTTP请求对象。酸洗过程并不对对象本身进行酸洗,而是对其所有引用进行酸洗。

    通常的Web服务器设计模式是让每个HTTP请求运行其自己的线程。线程和HTTP请求之间必须存在连接。因此,HTTP对象与Web服务器的生命周期息息相关,因此无法从Web服务器上下文中删除。

    您可能想要做的是PickleHTTP请求对象的内容,然后使用此内容作为有效内容重新创建请求。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看