首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >request.form["xxxxx"]、request.form.get("xxxxxx")和request.args.get("xxxxx")之间的区别?

request.form["xxxxx"]、request.form.get("xxxxxx")和request.args.get("xxxxx")之间的区别?
EN

Stack Overflow用户
提问于 2016-10-01 12:06:51
回答 1查看 4.6K关注 0票数 5

flask.request.form["xxx"]flask.request.form.get("xxx")flask.request.args.get("xxx")有什么区别?

我有这个问题,因为我正在使用烧瓶登录来处理身份验证。

特别是在下面的代码中(摘自烧瓶登录github页面),我不明白为什么使用req.form.get("email"),电子邮件是None,而对于req.form["email"],电子邮件没有价值。这是密码。

代码语言:javascript
复制
@login_manager.request_loader
def request_loader(req):
    email = req.form.get('email')
    if email not in users:
        return

    user = User()
    user.id = email

    # DO NOT ever store passwords in plaintext and always compare password
    # hashes using constant-time comparison!
    user.is_authenticated = req.form['pw'] == users[email]['pw']

    return user
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-01 13:59:12

正确的用例get()是在字典中不存在要查找的键时返回默认值。

例如,如果您有一个字典d,那么:

代码语言:javascript
复制
d = {'foo': 'bar'}

执行以下操作将不返回任何内容:

代码语言:javascript
复制
d.get('baz', None)

在执行以下操作时,将引发异常:

代码语言:javascript
复制
d['baz']
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39806433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档