Извлечение значений тела из запроса Django в промежуточном ПО Django

Я хочу извлечь часть тела из запроса в промежуточном ПО. Тело содержит некоторые переменные, связанные с пользователем, и второй файл, который загрузил пользователь.

Код :

class DSCheckMiddleware:

    def __init__(self, get_response):
        self.get_response = get_response

    def __call__(self, request):
        body_value = request.body
        resulting_param_value = #some got on values which i am getting from body
        if "True" in resulting_param_value:
            return HttpResponse("Please Provide Valid Input!!!")
        else:
            response = self.get_response(request)
            return response

Я пытался извлечь с помощью request.data, но он не работает в промежуточном ПО. Я также пробовал с помощью request.body, но он работает частично. Он дает мне значения в байтах, и формат выглядит так, как показано ниже.

b'------WebKitFormBoundarym30YxZr7PgRBWRoK\r\nContent-Disposition: form-data; name="user_name"\r\n\r\na\r\n------WebKitFormBoundarym30YxZr7PgRBWRoK\r\nContent-Disposition: form-data; name="dataset_name"\r\n\r\nc\r\n------WebKitFormBoundarym30YxZr7PgRBWRoK\r\nContent-Disposition: form-data; name="project_name"\r\n\r\nc\r\n------WebKitFormBoundarym30YxZr7PgRBWRoK\r\nContent-Disposition: form-data; name="description"\r\n\r\nc\r\n------WebKitFormBoundarym30YxZr7PgRBWRoK\r\nContent-Disposition: form-data; name="dataset_description"\r\n\r\nc\r\n------WebKitFormBoundarym30YxZr7PgRBWRoK\r\nContent-Disposition: form-data; name="model_type"\r\n\r\nRegression\r\n------WebKitFormBoundarym30YxZr7PgRBWRoK\r\nContent-Disposition: form-data; name="visibility"\r\n\r\nprivate\r\n------WebKitFormBoundarym30YxZr7PgRBWRoK\r\nContent-Disposition: form-data; name="inputfile"; filename="CarPrice_Assignment.zip"\r\nContent-Type: application/octet-stream\r\n\r\nPK\x03\x04\n\x00\x08\x00\x08\x00\xbap)U\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00CarPrice_Assignment.csv\xbd]Ko\xe3\xc6\xb2\xde\x07\xc8\x7f\xe02\x018F\xbf\x1f\xebs6gq\x0ep\x17\xf7\xe2\xee.h\x89\x96\x19\xd3\xa2@R\xf6x~\xfd\xad\xaa\xe6\xab%J$\x95I\x80$\xf0Ll}_WWW\xd7\xb3\xbd\xcb\xea\xff\xfb\xd7?\xd3\xe6\xeb\xfd\xb9*\x8b\xe3!\xfdGV\xff\'{\xcf\xd3\x97s^\xb6_\xa7<\xcd\x9aSQgmQ\x1d\xd3}U\xd5\xc7\xf3\xfbs^\xa7\xbb\xac~\xae\xf6_\xe9\xbe.>\xf2\xcf\xd7</\xd3\xfcx(\x8eyY\xed\xc27\xd3_>gM\x8e\xdf[\xc2\xffl_\xf1\xab\xcfb\x1f\xbex\xcd\x8b\xc3k\x9b\xee\xce\xf5\xf3g\xf82|\x00\x81\xee\xbe\x80\xcc>\xef\xd1\xc2\xffi\x8a\x1f\x81W\xf3\xd5\xb4\xf9{\xfa\\\xd591K\x9b\xb6\xae\xde\xe0\xa7\xaa\xf7S\x9d7\r\xc0\x87\xbf\x7f\xad\xea&?U\x9f\xf0\x11\xa7<{\xabO\xef\xe9\xaeh\xbf\xdeO\x87\xf4\x15 ?3\xfa\xf2T\x17\xbb\xfc\xd7_x*\xd3\xac|\xc9\xbe\xd5\xd5{^W\xc9\xa18\x97E\x96\x1e\xb2\x06>\x7f\x9f\xb6\x9f\x15\x00\x1c?\xf2\xba-\x9e\xcb<\xad?\xf7\xe9K]\x1d\xdb\xd4\xb9\'\x93r\xe3\x9e\\j\xd4\x13O\x15~%\xb4r \xb0\xd7]\xfaR\x9d\xeb\x94K\x96\xbe\x9f^\x8aT>)\x9b\x8a\'\xe3R\x9fr\xceS\xcd\x18K\x05O\x85\x85\xefQ^\xff\xfa\x8b\xb8\xe0\x01k-?'

Я также попытался преобразовать его с помощью JSON, но он выдает ошибку, как

'utf-8' codec can't decode byte 0xe7 in position 894: invalid continuation byte
Вернуться на верх