背景
上周做项目的时候,有个Post Webhook回调不仅在Body里传了数据,同时URL里也传了参数。这个QueryDict打印出来的值为{},无法获取URL中的参数。
原因分析
这种问题,首先就是看代码。
大概扫了下Request的代码,问题出在如下的位置:
def _load_post_and_files(self):
"""Populate self._post and self._files if the content-type is a form type"""
if self.method != 'POST':
self._post, self._files = QueryDict(encoding=self._encoding), MultiValueDict()
return
if self._read_started and not hasattr(self, '_body'):
self._mark_post_parse_error()
return
if self