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'處理程序中綁定一個名稱並沒有什麼不同。 –