2013-07-26 19 views
6

私のアプリケーションにdjango(1.4)formwizardを使用しています。 ステップ1では、2つのファイルをアップロードしています。これらのファイルは2番目のステップで使用されます。 すべて正常に動作していますが、これは--->「すべての手順を完了するか、手順1の後に停止しますが、まだ一時ファイルがMEDIAディレクトリに保存されています」Djangoフォームウィザード:中間ステップで保存された一時ファイルを削除します

これらのファイルは、ケース?

答えて

2

Djangoはそう、あなたがこれらのファイルを自分で管理する必要がドキュメントに書かれています:(Linuxを使用している場合)、彼らは自動的に削除されるように

あなたは、/ tmpにアップロードパスを設定することができます。

もう1つの方法は、スクリプトを定期的に実行して削除する方法です。

+0

あなたはそうだと思うが、これはユーザーがステップ1でファイルをアップロードしてからprevボタンを押して別のファイルをアップロードすることを考慮する。この場合、古いファイルと新しいファイルがあります。 別のケースでは、定期的にスクリプトを実行すると、ユーザーがステップ1でアップロードしたばかりのファイルを削除して、ステップ2を送信しようとしている可能性があります。 – Aryaveer

0

2段階の解決策を作成する必要があります。

最初のステップでは、ウィザードの実行を識別するparamsを使用して、file_storage変数をウィザードビューに設定して、前回のコメントで説明した次のステップのエラーを回避します。

そして、ウィザードのdone()機能では、すべてのフォルダの内容を削除します(実行時に各ウィザードに一意のスキーマを使用してください)ので、ウィザードを終了する前にすべてのファイルを削除してください。

関連する問題