class RentalImageForm(forms.Form):
images = forms.FileField(validators=
[FileExtensionValidator(allowed_extensions=['jpg', 'jpeg', 'png'],
message='Only JPG, JPEG, PNG, and GIF files are allowed.')])
@login_required
def createListing(request):
if request.method == 'POST':
createListingForm = RentalForm(request.POST)
if request.FILES.getlist('images'):
uploaded_files = request.FILES.getlist('images')
print(uploaded_files)
for files in uploaded_files:
rental_image_form = RentalImageForm({'images':files})
if rental_image_form.is_valid():
print('VALID')
else:
print(rental_image_form.errors)
<input
type="file"
name="images"
accept="image/*"
required
multiple
id="id_images"
/>
_____________________________________________________
字符串
我试图验证我上传到我的输入的每个文件,然后将它们放在一个循环中,以验证所有文件的扩展名是否正确。即使我的扩展名都是正确的,当我检查.is_valid()时,我的租赁图像表单也会显示false。总的来说,我已经检查并看到我的图像文件被正确上传,但当涉及到验证表单时,它失败了。
1条答案
按热度按时间wfauudbj1#
如果您希望使用图像作为输入,那么最好使用ImageField。至于错误,可以检查包含input元素的表单上的encoding type。