2011-10-27 80 views
4

看看dir(request.GET),我注意到pop被列爲一個方法。我也相信我已經從過去的請求中彈出了屬性。Django請求QueryDict彈出錯誤()

這是否準確?如果是這樣,爲什麼會失敗?

request.GET.pop('key') 

回答

11

request.GETrequest.POST是不可改變QueryDict實例。這意味着你不能直接改變它們的屬性。

複製QueryDict返回可變的QueryDict。然後,您可以調用副本的彈出方法而不會引發錯誤。

request.GET 
GET = request.GET.copy() 
GET.pop('key')  
+0

謝謝阿拉斯代爾,非常感謝。 – Ben