为什么在Django中复制帖子数据而非直接使用它?
Django的代码示例中,涉及到处理提交的数据时,通常会看到类似下面的代码:
if request.method == "POST":
post = request.POST.copy()
#do stuff with post data
那么,为什么要复制提交的数据,而不是直接使用它呢?
1 个回答
10
我觉得这是因为 request.POST
本身是不可变的,也就是说你不能直接修改它。如果你想要一个可以修改的版本,你需要先复制一份数据来操作。
可以查看 这个链接(request.POST 是一个 QueryDict 实例)。
类 QueryDict
QueryDict
实例是不可变的,除非你创建一个copy()
的副本。这意味着你不能直接修改request.POST
和request.GET
的属性。