Конвертировать данные request.get и request.post в словарь - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь преобразовать request.GET и request.POST в словарь, который я пытался сделать request.GET.dict() and json.dumps(request.GET). как-то это возвращает dict как структуру. например: {'name': 'abc'}, но тип этой команды str

Ответы [ 3 ]

1 голос
/ 21 октября 2019
data = {k:v[0] for k,v in dict(request.GET/POST)).items()}
1 голос
/ 21 октября 2019

Я пытался сделать request.GET.dict() и json.dumps(request.GET). как-то это возвращает dict как структуру. например: {'name': 'abc'}, но тип этого dict равен str.

Это имеет смысл, поскольку json.dumps создает BLOB-объект JSON. Такой JSON-объект представляет собой всегда строку. С этим утверждением.

request.GET, однако, уже является dict. Действительно, это QueryDict [GitHub] , а QueryDict является подклассом MultiValuedDict [GitHub] . Это подкласс dict. Таким образом, QueryDict является подклассом dict.

. Вы можете получить словарь, используя метод QueryDict.dict() [Django-doc] , вернет словарь:

result = request.GET<b>.dict()</b>

, а затем, например, создаст BLOB-объект JSON с таким результатом:

json.dumps(request.GET<b>.dict()</b>)

Здесь последнее значение в строке запроса будетиспользоваться, если несколько ключей передаются с одним и тем же ключом.

, но, как говорится, обычно нет необходимости преобразовывать его в словарь.

1 голос
/ 21 октября 2019
get = dict(request.GET)
post = dict(request.POST)

Но это не нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...