django + iis request.body проблемы - PullRequest
       0

django + iis request.body проблемы

0 голосов
/ 25 апреля 2018

локальный хост использовал macOS 10.13 python 3.6 django 2.0.2

windowServer2012R2 используется django 2.0.2, python 3.4, iis, fastCGI

если запустить localhost

этот скриншот введите описание изображения здесь

и поставить данные и опубликовать

возврат 200, успешное соединение введите описание изображения здесь

но окно сервера не работает css

этот скриншот введите описание изображения здесь

и поставить данные и выложить

исключение: объект JSON должен быть str, а не 'bytes' в json.loads(request.body)

django debug Опубликовать данные

_content_type   
'application/json'
_content    
('{\r\n'
 '    "UserEmail": "",\r\n'
 '    "UserPassword": "",\r\n'
 '    "UserSex": 1,\r\n'
 '    "UserAge": 1,\r\n'
 '    "DeviceId": "",\r\n'
 '    "PushKey": "",\r\n'
 '    "OS": 1,\r\n'
 '    "OSVersion": ""\r\n'
 '}')

введите описание изображения здесь

Я думаю, что это проблема кодирования, но я не могу ее решить.

localhost

print(request.body)

результат

b'{\n    "UserEmail": "",\n    "UserPassword": "",\n    "UserSex": 1,\n    "UserAge": 1,\n    "DeviceId": "",\n    "PushKey": "",\n    "OS": 1,\n    "OSVersion": ""\n}'

windowserver

b'_content_type=application%2Fjson&_content=%7B%0D%0A++++%22UserEmail%22%3A+%22%22%2C%0D%0A++++%22UserPassword%22%3A+%22%22%2C%0D%0A++++%22UserSex%22%3A+1%2C%0D%0A++++%22UserAge%22%3A+1%2C%0D%0A++++%22DeviceId%22%3A+%22%22%2C%0D%0A++++%22PushKey%22%3A+%22%22%2C%0D%0A++++%22OS%22%3A+1%2C%0D%0A++++%22OSVersion%22%3A+%22%22%0D%0A%7D'

Я пытался json.loads(request.body.decode("utf-8")) исключение это введите описание изображения здесь

1 Ответ

0 голосов
/ 25 апреля 2018

попробуйте ниже код

import json

body_string = request.body.decode("utf-8", "ignore")
data = json.loads(body_string)

или просто попробуйте как

data = json.loads(request.data.get('_content'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...