2013-07-26 9 views
6

Ich verwende django (1.4) Formwizard für meine Anwendung. In Schritt 1 lade ich 2 Dateien hoch. Diese Dateien werden im zweiten Schritt verwendet. Alles funktioniert gut, aber das ---> "Wenn ich alle Schritte abgeschlossen habe ODER ich nach Schritt 1 habe ich noch temporäre Dateien im MEDIA - Verzeichnis gespeichert"Django Formular-Assistent: Löschen Sie temporäre Dateien von Zwischenschritten gespeichert

Wie kann ich sicherstellen, dass diese Dateien in einem der gelöscht werden Fälle?

Antwort

2

Django sagt auf der Dokumentation, die Sie diese Dateien zu verwalten haben sich, so:

Sie den Upload-Pfad/tmp festlegen können (wenn Sie Linux verwenden), so dass sie automatisch gelöscht werden.

Ein anderer Ansatz besteht darin, dass Sie ein Skript schreiben können, das regelmäßig ausgeführt und gelöscht werden soll.

+0

Sie haben Recht, aber denken Sie daran -> ein Benutzer Dateien in Schritt 1 hochladen und dann drücken Sie die Taste zurück und laden Sie eine andere Datei. In diesem Fall haben wir ältere und neuere Dateien. Ein weiterer Fall, wenn ich ein Skript in regelmäßigen Abständen ausführen möchte, lösche ich vielleicht einige Dateien, die ein Benutzer gerade in Schritt 1 hochgeladen hat und er ist dabei, Schritt 2 zu übermitteln. – Aryaveer

0

Sie müssen 2 Schritte Lösung machen.

Der erste Schritt besteht darin, in der Wizard-Ansicht die Variable mit Parametern zur Identifizierung der Ausführung des Wizards zu setzen, um Fehler bei den vorherigen Schritten zu vermeiden, die Sie beim letzten Kommentar angegeben haben.

Und dann in der done()-Funktion auf dem Assistenten, löschen Sie den gesamten Inhalt des Ordners (denken Sie daran, ein einzigartiges Schema für jeden Assistenten in der Ausführung zu verwenden), so dass Sie alle Dateien beim Senden löschen können, bevor Sie den Assistenten beenden.

Verwandte Themen