2016-10-06 5 views
0

Я работаю с каркасом отдыха django и хранилищем aws S3. Я загружаю видео файлы в ведро S3 и сохраняю ключ шифрования в бинарном формате моделей django (требование хранения s3). Теперь мне нужно передать этот ключ на другой удаленный сервер django, используя почтовый запрос. Когда я передаю ключ с помощью библиотеки запросов, как-то он изменяется, когда я извлекаю его из почтового запроса на другом сервере, и я не могу его использовать. Было бы высоко оценено, если кто-то скажет мне, как передавать данные двоичного поля через почтовый запрос, используя библиотеку запросов django. Мой код для выполнения запроса поста являетсяПередача данных django binaryfiled через почтовый запрос

import requests enc_key = some_object.key # key is a models.BinaryField() data = {'enc_key' : enc_key} response = requests.post(url, data = data)

в то время как на другом сервере я извлечь enc_key из запроса поста, как этого

enc_key = request.POST['enc_key']

, но этот ключ не используется больше.

ответ

0

Действительно ли enc_key действительно экземпляр моделей.BinaryField? В случае python3 это должно быть memoryview.

Btw, requests полностью отделенный от Django, вы должны попытаться опубликовать двоичные данные без Django вообще, а затем сразиться с фреймворком, если neceassary. Может быть, вы можете получать данные из базы данных непосредственно с удаленной машины? Если нет, попробуйте отправить тестовые двоичные данные таким образом:

res = requests.post(url=remote_url, 
        data=data, 
        headers={'Content-Type': 'application/octet-stream'}) 
Смежные вопросы