在djang中验证多个文件

2024-04-25 23:46:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我想允许上传某些文件类型。我为某个文件编写了下面的代码,它有效。

def validate_file_extension(value):
    if not value.name.endswith('.zip'):
       raise ValidationError(u'Error message')

但是我想允许多个文件,所以我在settings\u dev中设置这些文件,并编写了下面的代码,但不工作。

^{pr2}$

设置\u开发

^{pr3}$

型号:

^{pr4}$

我怎么能这样做?


Tags: 文件代码nameifvaluedefextensionnot
1条回答
网友
1楼 · 发布于 2024-04-25 23:46:18

如果TASK_UPLOAD_FILE_TYPES中有多个(不同)文件类型,for循环将始终引发异常。因为任何一个文件类型都不匹配。在

您不需要使用for,因为^{}接受元组作为参数。在

>>> 'data.docx'.endswith(('.pdf','.zip','.docx'))
True
>>> 'data.py'.endswith(('.pdf','.zip','.docx'))
False

^{pr2}$

相关问题 更多 >