Session.pop方法的第二个参数在Python Flask中有什么作用?

时间:2013-11-21 08:18:32

标签: python session flask

我正在完成Flask教程,并且只想澄清会话对象的.pop属性到底是什么以及为什么它会采用'无'参数。

@app.route('/logout')
def logout():
    session.pop('logged_in', None)
    flash('You were logged out')
    return redirect(url_for('show_entries'))

1 个答案:

答案 0 :(得分:17)

根据Flask's API,他们的Session类是python Dict的包装器。根据{{​​1}}的{​​{3}}:

  

dict.pop()

     

如果pop(key[, default])在字典中,请将其删除并返回其值,否则返回key。如果未提供default并且default不在字典中,则会引发key

在这种情况下,教程会要求您将KeyError作为None值传递。