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
- EOF -