2016-10-06 11 views
0

私はdjango rest frameworkとaws S3 storageを使って作業しています。 S3バケットにビデオファイルをアップロードし、暗号化キーをdjangoモデルのバイナリフィールドフォーマット(s3ストレージの要件)に保存しています。今私はポストリクエストを使用して、このキーを別のリモートdjangoサーバーに渡す必要があります。私はリクエストライブラリを使用してキーを渡すと、どういうわけか、私は他のサーバー上のポストリクエストからそれを抽出し、私はそれを使用することができません変更されます。 djangoリクエストライブラリを使用して、バイナリフィールドのデータを投稿リクエスト経由で渡す方法がわかっている人がいると、非常に感謝しています。ポスト要求を行うための私のコードは、他のサーバー上の投稿リクエストによるdjangoバイナリファイルデータの転送

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 = request.POST['enc_key']

のようなポストリクエストからenc_keyを抽出しているが、このキーはもう使用できません。

答えて

0

enc_keyは実際にはmodels.BinaryFieldのインスタンスですか? python3の場合はmemoryviewでなければなりません。

Btw、requests Djangoから完全に分離されている場合は、Djangoを使わずにバイナリデータを投稿し、ネセサリであればフレームワークで対戦してください。リモートマシンから直接データベースからデータを取得することはできますか?そうでない場合は、テストバイナリデータをその方法で送信してください:

res = requests.post(url=remote_url, 
        data=data, 
        headers={'Content-Type': 'application/octet-stream'}) 
関連する問題