Django在pop()上请求QueryDict错误

Ben*_*Ben 4 python django django-views

看一下dir(request.GET),我注意到pop被列为一种方法.我也相信我过去已经从请求中删除了属性.

那是准确的吗?如果是这样,为什么会失败?

request.GET.pop('key')
Run Code Online (Sandbox Code Playgroud)

Ala*_*air 13

request.GET并且request.POST是不可变的QueryDict实例.这意味着您无法直接更改其属性.

复制a QueryDict,返回一个mutable QueryDict.然后,您可以调用副本的pop方法,而不会引发错误.

request.GET
GET = request.GET.copy()
GET.pop('key')    
Run Code Online (Sandbox Code Playgroud)