为什么要在Django中复制发布数据而不是直接使用它?

时间:2010-02-26 06:26:45

标签: python django

涉及帖子数据的Django代码示例经常显示与此类似的代码:

if request.method == "POST":
   post = request.POST.copy()
   #do stuff with post data

是否有理由复制帖子数据而不是直接使用它?

1 个答案:

答案 0 :(得分:10)

我认为这是因为request.POST本身是不可变的。如果你想要一个你可以实际改变的版本(可变性),你需要一份数据的副本来使用。

请参阅this link(request.POST是一个QueryDict实例)。


  

class QueryDict

     

QueryDict个实例是不可变的,除非您创建copy()个实例。这意味着您无法直接更改request.POSTrequest.GET的属性。