問題タブ [django-file-upload]

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.

0 投票する
2 に答える
4003 参照

django - djangoフォームのforms.FileFieldを更新します

FileFieldを含むモデルがあります。

そしてこのモデルを使用するフォーム

フォームを使用して新しいアップロードを作成すると、すべて正常に機能します。

ただし、エントリを更新/編集しようとすると、アップロードされたドキュメント以外のすべてのフィールドが更新されます。これは、元のアップロードと同じままです。

インスタンスを編集するときにアップロードファイルを変更するにはどうすればよいですか?

ありがとう

0 投票する
2 に答える
6809 参照

python - からのファイル パスの検索Django オブジェクト

パッケージを送信すると、その中にある値を返す必要があるDjangoアプリがあります..「挿入」と呼ばれるビューにフォームを送信しました:

ファイル オブジェクトを返しますが、その種類は < InMemoryUploadedFile> です。必要なのは、アップロードされたファイルの絶対パスを取得する方法です。これにより、必要な値を返すメソッドにそれをフィードできます

どうすればこれを達成できるか知っている人はいますか?

ありがとう

0 投票する
3 に答える
5867 参照

django - オブジェクトを保存する前にファイルのアップロードを処理しています

私はこのようなモデルを持っています:

次のように、アップロードされたファイルが MP3 であることを保存する前に検証したい:

MP3 を取得したことを確認したら、トークの長さを次のように seconds 属性に保存します。

問題は、保存する前に、アップロードされたファイルにパスがないことです (このチケットを参照してくださいwontfix

ModelForms が役立つエラー (「ばか、MP3 をアップロードしていません」など) を表示できるように、素敵な検証エラーを発生させたいと思います。

保存する前にファイルにアクセスする方法を教えてください。

psファイルを検証するより良い方法がMP3であることを誰かが知っているなら、私はすべて耳にします-ID3データをいじりたいと思っています(アーティスト、アルバム、タイトル、そしておそらくアルバムアートを設定するので、処理可能にする必要があります変異原による)。

0 投票する
1 に答える
11563 参照

django - フォームの clean メソッド中にファイル データを読み取る

そのため、以前の質問に対する回答の実装に取り​​組んでいます。

これが私のモデルです:

これが私のフォームです:

Mutagenにはディスク上のファイルのようなオブジェクトまたはファイル名が必要です (私はそう思いますInMemoryUploadedFile) - 最初のケース (アップロードされたファイルがメモリで処理されるファイルのサイズよりも大きい場合) は正常に動作しますが、それ以外の場合の処理​​方法がわかりません. 私はもう試した:

変異原性に何か問題がありますか、それとも間違っていますか?

判じ絵の答えの後

次のように、クラスFILE_UPLOAD_HANDLERSでオンザフライで設定を変更します。ModelAdmin

送信を押すと、次のエラー 500 が表示されます。

アップロードが処理された後は、アップロード ハンドラを設定できません。

できる限り早くやっているのに!

saveまた、取得しているオブジェクトにメソッドがあるかどうかもわかりません(dir(self.files['mp3'].file)とを調べましたdir(self.files['mp3']))。

0 投票する
1 に答える
2310 参照

django - アップロードしたファイルの一時保管の扱い方

私のdjangoアプリケーションでは、いくつかの条件付きパラメーターを使用して、複数のステップで登録しています。このため、フォームからのデータをセッションに保存することを考え出しました。残念ながら、セッションは pickle を使用してデータをシリアル化しますが、これはファイルのシリアル化をサポートしておらず、
PicklingError: Can't pickle <type 'cStringIO.StringO'>: attribute lookup cStringIO.StringO failed. この問題を回避するには?次のすべてのビューに画像を変数として送信するか、GET パラメーターとして送信するか、他の方法で送信する必要がありますか? 問題はかなり明白なので、サンプル コードが必要かどうかはわかりません。

0 投票する
7 に答える
33363 参照

python - PIL `Image` を Django `File` にどのように変換しますか?

UploadedFileをPILImageオブジェクトに変換Imageしてサムネイル化し、サムネイル関数が返すPIL オブジェクトをオブジェクトに変換しようとしていFileます。これどうやってするの?

0 投票する
1 に答える
1395 参照

django - リクエストからファイルを保存するためのDjangoビュー

デスクトップアプリケーションを介して操作されるdjangoアプリケーションを構築しています。今のところ重要な機能はファイルの送信/保存です。基本的に、POSTでファイルを送信できるURLを含むdjangoビューが必要です。このビューには、ファイルが保存されます。現在、私はこのようなものを持っています:

およびurlconf:

チャンクファイルの送信をサポートします。しかし、これは機能しません。コードは正しいですか?モデルにファイルフィールドを提供し、この関数でファイルをディスクに書き込む代わりに新しいモデルインスタンスを作成するなど、別のアプローチを取る必要がありますか?

0 投票する
1 に答える
121 参照

django - ファイルがサーバーにアップロードされた場所を追跡するにはどうすればよいですか?

教えてください、ロードされたディレクトリからファイルをいつロードするかを判断できますか?

InMemoryUploadedFileファイル名のみが含まれます。すなわち単にFoto.jpg

たとえば、次のように表示したいと思いますc:\windows\blablabla\Foto.jpg

それとも無理ですか?

どうもありがとうございました。

0 投票する
2 に答える
4388 参照

django - django ImageField - 名前をカスタマイズして古いファイルを削除する方法

ImageField を含むモデルがあります。私はすでにupload_toを設定し、独自のFileSystemStorageクラスを作成して、ファイルを一意の名前で保存することに対処しています...しかし...

このセットアップにより、ファイルごとに一意の名前でファイルをアップロードして保存できます (これで問題ありません) が、以前に存在したファイルを削除する必要もあります。

file1.png をアップロードすると、file1_xkdeujg.png として保存されます (これはランダムな文字列です)。

次に、django admin に移動し (django admin インターフェイスを使用するため、モデルを介して行う必要があります)、そのフィールドの画像を fileNEW.png に変更します。

今必要なことは次のとおりです。

1)新しいファイルをfileNEW_fjewiejk.png(画像が保存されるたびに一意のランダム文字列)として保存します-完了

2) 新しいファイルをデータベースに保存します -完了

3)古いファイルを削除します-file1_xkdeuig.png-ファイルシステムから-未完了

Q: ポイント 3 を手伝ってくれる人はいますか?

いくつかのコード:

そして(このコードの大部分を他の場所から借りました...):

0 投票する
4 に答える
5589 参照

python - Django : モデルの編集中に FileField 値をカスタマイズする

のモデルがありFileFieldます。FileFieldビューでこのモデルを編集するときに、ビュー フォームに表示される「現在の」値を変更したいと考えています。説明させてください。

models.py:

フォーム.py:

ビュー.py:

今、私は自分のビューでこのモデルを編集したいと考えています。ブラウザを見ると、フォームが次のように表示されているのがわかります

この「現在」の値を変更したいと考えています。これは、ファイルがサーバー上に存在するときのファイルのパス全体を示しています。この文字列をパスなしでファイル名だけにトリミングしたい。どうすればそれを達成できますか?