Xaip
@Xaip

Как правильно передать HttpRequest в Tornado так что бы Django правильно принял QueryDict?

Нужно правильно отправить асинхронный POST запрос к django так что бы он правильно принял данные. Пока что он мне выдает объект QueryDict:
Часть кода в tornado
http_client = httpclient.AsyncHTTPClient()
        url = "http://127.0.0.1:8000/api/v0/thread/add/"
        headers = {'Authorization': 'JWT ' + self.token}
        context = {'thread':self.thread, 'message':self.message}
        body = json.dumps(context)
        print(body)
        request = http_client.fetch(request=url, method="POST", headers=headers, body=context)

В django пытаюсь ловить запрос через request.data или request.post но получаю:
<QueryDict: {'{"thread": 1, "message": "09up9"}': ['']}>

А нужно:
{"thread": 1, "message": "09up9"}
  • Вопрос задан
  • 160 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Tornado
Седой и строгий
Из Tornado запрос отправлен правильно. Просто Django так принимает тело запроса. С QueryDict вы можете выполнять все те операции, которые выполняете и с обычным словарём. При желании вы можете привести его к обычному словарю - d = query_dict.dict()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы