Django请求QueryDict的pop()错误
我查看了request.GET的内容,发现里面有一个叫pop的方法。我记得之前也用过这个方法来从request中取出一些属性。
这样说对吗?如果是的话,为什么会失败呢?
request.GET.pop('key')
1 个回答
21
request.GET
和 request.POST
是不可变的 QueryDict
实例。这意味着你不能直接修改它们的属性。
如果你复制一个 QueryDict
,那么返回的就是一个可变的 QueryDict
。这样你就可以在这个复制的对象上使用 pop 方法,而不会出现错误。
request.GET
GET = request.GET.copy()
GET.pop('key')