問題タブ [django-storage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - Django と Amazon S3 でのファイル ストレージの使用
使用できるストレージの量に制限を設けるため、ユーザーがアプリでストレージの使用を決定する必要があるシナリオがあります。現在、django-storage、boto、および S3 を使用してファイルを管理および保存しています。ユーザーごとにストレージの使用状況を集計する最善の方法は何ですか?
アップロードされた各ファイルを追跡し、アップロード時にファイルサイズをインクリメント/削除時にデクリメントし、その集約されたファイルサイズをDBに保存することを考えましたが、これをよりきれいにする方法があるかどうか疑問に思っています. 他の人が行った解決策は何ですか? どうもありがとう。
django - django-filebrowser を s3 ストレージで動作させるにはどのような設定が必要ですか?
静的およびユーザーアップロードフォルダーをs3で動作させるために、ここでほぼすべてを試したように感じます。この時点で、collectstatic
内部のすべてのフォルダーを実行すると、media
最終的に内部static
になりますが、2 つのフォルダーを作成するように構成したことは確かです。
django-filebrowser と関係があると思われます。彼らはストレージ用にいくつかの設定を行っているようですが、私の人生では、それらを機能させる方法がわかりません:
http://django-filebrowser.readthedocs.org/en/latest/settings.html?highlight=storages
http://django-filebrowser.readthedocs.org/en/latest/admin.html?highlight=storages
django-filebrowser を実際に s3 で動作するようにした人はいますか? そうでない場合、ユーザーアップロードファイルをホストすることをお勧めしますか?
django-filebrowser それは私のアプリにかなり近いものでした。画像をアップロードするたびに一連のサムネイルを自動的に作成するようにセットアップしましたが、うまく機能します。ただし、ローカルマシンから取得できない場合は役に立ちません。
私のからの抜粋settings.py
:
また、私のs3utils.py:
私のフォルダ構造:
add_interiors_project
..manage.py
..addition_interiors_project
....addition_interiors_project
....メディア
....静的
....表紙
....s3utils.py
....settings.py
....urls.py
....wsgi.py
django - iPhoneアプリを介して画像をdjango Webサービスに送信し、送信する
私はdjango Webサービスを持っています。iOSアプリから画像を受け入れ、画像をデータベースに保存できるようにしたい(画像ファイル自体は私のs3バケットにあるはずです)。
管理者を介して保存するのは非常に簡単ですupload_to
。バケットを定義して static_url として設定するだけですが、たとえばアプリから送信された画像を保存する方法に関する例/ドキュメントは見つかりません。
誰かが私を正しい方向に向けたり、例を挙げたりできますか?
私の質問があいまいであるので、もう少し情報:
設定.py
これは私の画像クラスです。私がやろうとしているのは、アプリから画像を取得し、データベースと S3 ストレージに保存して、正しい外部キーにリンクすることです。
私の問題は、情報をデータベースに保存しながらファイルを S3 に保存する方法を理解することです。
django - Heroku S3 の Django-Filebrowser
ここに私のレポへのリンクがあります: https://github.com/dogukantufekci/cenkerbulut
私のプロジェクトはローカルで正常に動作します。
私の IAM ポリシーは次のとおりです。
Heroku と S3 で Grappelli Admin 経由で Django-Filebrowser を使用しようとすると、500 エラーが発生します。
python - ローカル システム ファイルが必要な場合に Django/python 内で S3 ファイルを操作および作成する
django-storages を使用してメディア ファイルを S3 バケットに保存しています。ただし、ファイルを変換したり、新しいファイルを作成するためにファイルをいじったりすることがあります。このいじりは、サーバー上の実際のファイルを使用する必要があります (ほとんどの変換はプロセス呼び出しを使用して行われます)。完了したら、ファイルを S3 に保存したいと思います。
理想的な世界では、ローカルから S3 に移行するときに関数を変更する必要はありません。ただし、これらの中間ローカル ファイルを作成していじる必要があることを考えると、これをどのように行うかはわかりません。最終的には、結果のファイル (ローカル マシンにも保存される) を作成する必要があることがわかります。 S3にコピーしました。
1 つはソース ファイル用、もう 1 つは宛先ファイル用の 1 組のコンテキスト ガードを使用して思いつくことができる最善の方法です。ソースファイルは、コピーされたソースファイルの内容を取得する一時ファイルを作成し、それを使用、操作などします。宛先ファイルのコンテキストガードは、S3 で最終的な目的の宛先パスを取得し、一時ローカル ファイルを作成し、終了時に S3 バケットにキーを作成し、一時ファイルの内容をコピーして削除します。
しかし、これは私にはかなり複雑に思えます。また、これらのファイルを操作するすべての関数を 2 つの "with" 句でラップする必要があります。
私が考えることができる他の唯一の解決策は、ファイル名ではなくファイルのようなオブジェクトのみを処理するユーティリティに切り替えることですが、これはサブプロセス呼び出しを実行できないことを意味します。
python - DRF が URL 署名を %2B から '+' に変換する
DRF が自己記述型 API でハイパーリンクされた URL をレンダリングする方法にバグがあるようです。DRF は、表示時に S3 (django-storage) の URL 署名を %2B から '+' に変換しています。ただしformat=json
、この翻訳の問題はありません。
例えば:
これはシリアライザーです:
ハイパーリンクされた画像フィールド:
URL の値が正しく、署名が正しい。ただし、DRF が URL をレンダリングすると、これから署名が変更されます....
良い
これに:
悪い
唯一の違いは の翻訳です%2B to '+'
。
シリアライザーで次のことを回避しようとしました。
しかし、それは常に %2B を '+' に変換します。
回避策はありますか?
django - 更新された MEDIA_URL が ImageField の URL に反映されない
Amazon S3 でのファイル提供から Amazon CloudFront への移行を試みているため、settings.py
. 以前、私はこれを持っていました:
これを次のように更新しました。
コンソールで、設定が更新されます。
しかし、私のモデルではありませんImageField
:
何を与える?古い情報はまだどこに保存されていますか? また、どのように消去すればよいですか?