0
在应用程序中,用户可以选择是否上传图片。但Flask可以在POST请求中支持可选参数吗?
picture_url = request.files['image']
似乎导致页面停止加载的要求,如果没有这样的文件存在。有没有办法使这个可选?
感谢
在应用程序中,用户可以选择是否上传图片。但Flask可以在POST请求中支持可选参数吗?
picture_url = request.files['image']
似乎导致页面停止加载的要求,如果没有这样的文件存在。有没有办法使这个可选?
感谢
您正在使用语法抛出异常关键是不存在的。使用.get()
代替:
picture_url = request.files.get('image')
这将返回None
如果没有设置按键,例如POST中没有image
字段。
你也可以处理KeyError
例外:
try:
picture_url = request.files['image']
except KeyError:
# no picture uploaded, do something else perhaps
只是一个简单的问题。这可能看起来很愚蠢,但第二个例子中picture_url的范围是什么?它可用于整个功能吗?考虑到没有尝试它在函数体内 – UtsavShah
@UtsavShah:如果在函数的其余部分没有抛出异常*,它将可用。你必须在异常处理程序中绑定它,或者在try之前设置一个默认*。在这方面,在'if'处理程序中绑定一个名称并没有什么不同。 –