request.form['foo']这种不容错的方法是否更好?

1 cloverstd Mar 22, 2016 request.form['foo'] 如果取不到,会直接抛 403 错误 |
2 tanywei Mar 22, 2016 request.form.get('foo', None) |
3 zwzmzd Mar 22, 2016 |
4 pppy OP ok 明白了,感谢大家 |
5 glasslion Mar 22, 2016 你自己都说了 request.form['foo']不容错, 所以要看具体使用场景, 需要容错的场景下就用 request.form.get('foo')。 哪种方式更好并不是绝对的。 然而,表单数据来源于用户提交, 经常被用作恶意攻击, 所以要对表单数据做各种合法性检查( csrf, 数据范围...) 另外从用户体验的角度来说, 如果提交表单缺少 必填字段 foo , 那么应该给用户提示 ”缺少 必填字段 foo ...“, 而不是去抛异常。 综上, 在现代 web 开发中,一般使用表单框架 /库来完成上述重复性工作。 例如 django form 或 Flask-WTF 。 直接操作 request.form 请出门左拐 java php 节点 |
6 BOYPT Mar 22, 2016 这本来就是 python dict 的标准接口啊,不用扯到 web 的容错吧 a = {} NOne== a.get('nope', None) |