Ich muss mehrere Bilder in meinem Formular hochladen, aber ich habe nur ein Bildfeld, ich möchte nicht mehr Bildfelder haben die Hauptidee ist ein für jeden in der Speichermethode oder so etwas tun, aber ich habe keine Idee, das zu tun, bitte helfen.Wie kann ich mehrere Bilder gleichzeitig in Django hochladen?
Das ist mein Modell:
class Archivos(models.Model):
id_archivo = models.AutoField(primary_key=True)
id_unidad = models.IntegerField()
nombre_archivo = models.CharField(max_length=255, blank=True)
imagen = models.ImageField(upload_to='img', null=True, blank=True)
I edited meine def Post
def post(self, request, *args, **kwargs):
form_class = self.get_form_class()
form = self.get_form(form_class)
files = request.FILES.getlist('imagen')
if form.is_valid():
a = 0
for imagen in files:
a = a+1
img = form.save(commit=False)
img.id_unidad = 1
img.nombre_archivo ='hhh'+ str(a)
img.save()
print(a);
return self.form_valid(form)
else:
return self.form_invalid(form)
Die für cicle funktioniert, aber immer das letzte Bild speichern. Ich denke, es funktioniert wie und aktualisieren, aber ich verstehe nicht warum?
dies ist ein Teil meiner Form in einer Vorlage:
Danke:
, jedenfalls mehrere Bilder, erstellen Sie Instanzen von
Archivos
Modell in for-Schleife und speichern Sie sie eins nach dem anderen zu retten! Um mir zu helfen, funktioniert deine Antwort. –