Django 无法从 中获取URL传进来的参数

时间:2024-10-10 15:57:26

背景

上周做项目的时候,有个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