Im Folgenden finden Sie eine vereinfachte Version des Django-Codes in meinem Projekt. Es ermöglicht Benutzern, eine Datei hochzuladen und ihr einen Titel zu geben. Diese Funktion funktioniert einwandfrei. Wenn der Benutzer das Formular später erneut bearbeitet, werden die Datei und der Titel jedoch erneut angezeigt, wenn der Benutzer die leere Datei übermittelt. Das Dateifeld des Formulars, das zur Bearbeitung geöffnet wurde, sieht folgendermaßen aus:
Derzeit: media_location / uploadedfile.mp3
Ändern: [Datei auswählen] Keine Datei ausgewählt
Und nachdem ich es eingereicht habe, ist es:
- Diese Ablage ist erforderlich
[Datei auswählen] Keine Datei ausgewählt
Wie bekomme ich es, damit der Benutzer die Datei nicht erneut laden muss? Es spielt für mich keine Rolle, ob das Feld nach der Übergabe gelesen wird oder ob es editierbar bleibt. Das fertige Projekt ist nicht für einen Client gedacht und wird nur einer kleinen Gruppe vertrauenswürdiger Benutzer zur Verfügung stehen. Ich möchte jedoch nach Möglichkeit den Best Practices folgen. Danke für jede Hilfe.
Django-Code:
models.py
%Vor%forms.py
%Vor%ansichten.py
%Vor%Ich hatte das gleiche Problem und konnte nicht herausfinden, wie noch in der Lage ist, etwas Nützliches zu suchen. Meine derzeitige Lösung besteht darin, in Ihrem Szenario ein anderes Formular zu verwenden:
%Vor%Der einzige Unterschied ist, dass ich die updateView-Klasse-basierte Ansicht verwende, also müssen Sie Ihre Ansichtsfunktion ändern, um% code% für die Aktualisierung zu verwenden.
Tags und Links django-forms django-file-upload