当我试图保存细节时,我遇到了一个错误:KeyError:'image'。我不明白,为什么?错误视图.py. 我想一次上传多张照片
在视图.py公司名称:
@user_passes_test(lambda u: u.is_superuser)
def new_detail(request):
ImageFormSet = modelformset_factory(DetailImage,
form=ImageForm, extra=10)
if request.method == 'POST':
form = DetailForm(request.POST)
formset = ImageFormSet(request.POST, request.FILES,
queryset=DetailImage.objects.none())
if form.is_valid() and formset.is_valid():
detail_form = form.save()
detail_form.save()
for form in formset.cleaned_data:
images = form['image'] # HERE IS THE PROBLEM
photo = DetailImage(detail=detail_form, image=images)
photo.save()
return redirect('/new_detail/')
else:
form = DetailForm(request.POST)
formset = ImageFormSet(queryset=DetailImage.objects.none())
return render(request, 'shop/new_detail.html',
{'form': form,'formset': formset})
在表单.py在
^{pr2}$在模型.py在
...
class DetailImage(models.Model):
detail = models.ForeignKey(Detail, related_name='images',
on_delete=models.CASCADE)
image = models.ImageField(upload_to='details', null = True, blank = True)
KeyError:“image”在您的案例中意味着在表单集清理的数据中的一个表单中没有“image”键。你应该检查一下。像这样:
相关问题 更多 >
编程相关推荐