检查Python Flask中是否存在post值

Jak*_*ake 2 python flask

如何检查python烧瓶中存在的post值?

我是一名PHP程序员,在PHP中会是这样的.

function profile_update()
{
    if($this->input->post('photo))
    {
        echo 'photo is exist';
    }else{
        echo 'photo is not exist';
    }
}
Run Code Online (Sandbox Code Playgroud)

我想在python烧瓶中做这样的,但它会出错.

@app.route('/apis/settings/profile_update_submit', methods=['POST'])
def settings_profile_update_submit_test():
    now = datetime.datetime.utcnow()
    phone = request.form['phone']
    photo = request.file['photo']

if 'photo' in request.files:
    return 'photo exists'
else:
    return 'photo does not exist'
Run Code Online (Sandbox Code Playgroud)

即使我在表单中放置文件,这仍然显示"照片不存在"消息.

Mar*_*ers 9

测试文件第一:

@app.route('/apis/settings/profile_update_submit', methods=['POST'])
def settings_profile_update_submit_test():
    now = datetime.datetime.utcnow()
    phone = request.form['phone']

    if 'photo' in request.files:
        return 'photo exists'
    else
        return 'photo does not exist'
Run Code Online (Sandbox Code Playgroud)

尝试访问不存在的密钥将引发KeyError异常.

您还可以使用.get(key, default)返回默认值(None如果省略更具体的默认值):

photo = request.files.get('photo')
if photo is not None:
    return 'photo exists'
else
    return 'photo does not exist'
Run Code Online (Sandbox Code Playgroud)