Unten ist 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 der Bearbeitung wieder geöffnet Formulars wie folgt aussieht:Bearbeiten eines Django-Modells mit einem Dateifeld ohne erneutes Hochladen der Datei
Derzeit: media_location/uploadedfile.mp3
ändern: [Wählen Sie Datei] Keine Gewählte Datei
Und nachdem ich es einreichen, es ist:
- Dies erforderte Abgelegt wird
[Wählen Sie Datei] Keine Datei ausgewählt
Wie kann ich es bekommen, so dass der Benutzer nicht um die Datei erneut hochladen? 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
class Recording(models.Model):
rec_title=models.CharField(max_length=200,blank=True)
rec_file = models.FileField(upload_to='recordings')
forms.py
from django import forms
from songstorage.models import Recording
class RecordingForm(forms.ModelForm):
rec_file=forms.FileField(label='Upload File')
rec_title=forms.CharField(label='Recording Title',required=False)
class Meta:
model=Recording
views.py
Haben ähnliche Problem, nur neugierig, ob Sie es schon ausgearbeitet haben? –
Ich denke, Django sollte eine Funktion hinzufügen, um das zu lösen. –