【问题标题】:What does the second argument of the Session.pop method do in Python Flask?Python Flask 中 Session.pop 方法的第二个参数有什么作用?
【发布时间】:2013-12-05 14:38:04
【问题描述】:

我正在学习 Flask 教程,并且想明确说明会话对象的 .pop 属性的作用以及为什么它需要一个“无”参数。

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

【问题讨论】:

    标签: python session flask


    【解决方案1】:

    根据Flask's API,他们的Session 类是python Dict 的包装器。根据python documentationdict.pop()

    pop(key[, default])

    如果key 在字典中,删除它并返回它的值,否则返回default。如果default 未给出且key 不在字典中,则会引发KeyError

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

    【讨论】:

    • 教程中默认值的传递因此防止了KeyError异常被引发,以防未登录的人访问/logout(键logged_in不会出现在然后会话)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-02
    • 1970-01-01
    • 2013-09-29
    • 1970-01-01
    • 2013-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多