Django 表单无法使用正确的文件进行验证

Django Form Does Not Validate With Correct Files

提问人:Jane Smith 提问时间:8/2/2023 更新时间:8/6/2023 访问量:52

问:

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() 检查时,我的租赁图像表也会显示错误。总的来说,我已经检查并看到我的图像文件是否正确上传,但是在验证表单时失败了。

python html django 表单 验证

评论


答:

0赞 Abdulelah Taher 8/2/2023 #1

如果您希望将图像作为输入,也许最好改用 ImageField。 至于错误,也许可以检查包含输入元素的表单上的编码类型

评论

0赞 Community 8/5/2023
您的答案可以通过其他支持信息进行改进。请编辑以添加更多详细信息,例如引文或文档,以便其他人可以确认您的答案是正确的。您可以在帮助中心找到有关如何写出好答案的更多信息。