2017-11-27 18 views
0

私はdjangoバックエンドを使用しています。これは単にapiサーバーとして機能します(テンプレートとHTMLファイルはレンダリングされません)。フロントエンドでは、このAPIにアクセスしてコンテンツをレンダリングするためにreactとreduxを使用します。Django RF、React、Heroku&Amazon S3 - 正しいファイルストレージ

質問です、私はアマゾンS3に接続するためにはDjangoを使用する必要があるとFileField()に対応しているか、私が代わりに使うべきは、Amazon S3に接続するために反応し、その後、私のDjangoのモデルにファイルへのURLを保存するためにCharField()を使うのか?

答えて

0

これは、Reactを使用してS3に接続するのに便利ですが、charfieldを使用してURLを格納しないでください。ファイルのアップロードとダウンロードで何らかの認証が必要な場合は、バケットを完全にprivateにして、鍵をCharFieldに保存する必要があります。

次に、djangoアプリケーションでboto3clientを使用すると、特定のキーに対してpresigned urlを生成する必要があります。

最後に、反応すると特定のファイルのために予約済みのURLが呼び出され、取得したらそれを使ってそのファイルをダウンロードし、リンクが失効します。

予約済みURLの詳細と使用方法について詳しくは、次のリンクをご覧ください。http://boto3.readthedocs.io/en/latest/guide/s3.html#generating-presigned-urls

関連する問題