0
テンプレートで2つのイメージを選択すると、saveメソッドは常に最後に選択したイメージを保存しますが、何が起こるのか分かりません。forループはDjangoの最後のファイルのみを保存するのはなぜですか?
これが私の見解です:
class imgcreate(CreateView):
model = Archivos
template_name = 'img.html'
form_class = imgForm
success_url = reverse_lazy('BackEnd:unidades')
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.tipo_archivo = 1
img.nombre_archivo ='hhh'+ str(a)
img.save()
print(a);
return self.form_valid(form)
else:
return self.form_invalid(form)
印刷は常に返すだけ最後の画像を意味2で画像の名前は
はぁ?あなたの 'print(a)'ステートメントはループの外にあります。それで、 'files'の長さを表示する方法があります。ループの内側に移動すると、1、2、3などが印刷されます。 – GAEfan