测试Django FileField是否为空,即没有上传文件的正确方法是什么?
当字段为空时看起来name
属性为u''
,但我不知道这是否可靠。
答案 0 :(得分:2)
我遇到了类似的问题并找到了可能的解决方案(肯定不是最好的)。 我目前正在检查文件字段中清理的数据是否是TemporaryUploadedFile类的实例(django.core.files.uploadedfile.TemporaryUploadedFile):
**你的代码在这里**
来自django.core.files.uploadedfile导入TemporaryUploadedFile
**你的代码在这里**
if isinstance(form_instance.cleaned_data ['my_file'],TemporaryUploadedFile): #do stuff
我希望这会有所帮助。
干杯! 大卫
答案 1 :(得分:-2)
这是来自python idioms的一个,总是以最简单的方式测试它:
if some_object.file:
# File exists!
# This of course does not guarantees that file exists on disk, or that it is
# readable.
else:
# No file.