django 的 request.POST 这些不能直接来添加,可以copy 后 edit 然后再 replace 就ok了,这里要注意的是 request.REQUEST 不能这样改,下面是我写的实例方法来改的代码
def update_request_GET(self, data={}):
if self.request.method in ("GET"):
new_PARAMS = self.request.GET.copy()
else:
new_PARAMS = self.request.POST.copy()
for k,v in data.items():
new_PARAMS[k] = v
if self.request.method in ("GET"):
self.request.GET = new_PARAMS
else:
self.request.POST = new_PARAMS
self.request.PARAMS = new_PARAMS
return self.request
def update_request_POST(self, data={}):
return self.update_request_GET(data)
def update_request_META(self, data={}):
new_META = self.request.META.copy()
for k,v in data.items():
new_META[k] = v
self.request.META = new_META
return self.request