【问题标题】:What does request.form.get('field1') return when field1 is not filled out?未填写 field1 时 request.form.get('field1') 返回什么?
【发布时间】:2020-06-23 06:23:28
【问题描述】:

我正在尝试从 HTML 中的 post 方法获取数据,但有些字段不是必需的,可以留空。如果用户将该字段留空,我想将该值设为无。

示例:

required_field = request.form.get("required_field")
not_required_field = request.form.get("not_required_field")
if (not_required_field is not set or was left blank):
     not_required_field = None

在 PHP 中我会这样做:

if (empty($_POST['field1'])) {$field1 = null;}
    else {$field1 = $_POST['field1'];}

但我不知道如何在 Python 中执行此操作。

我也尝试过request.args.get("field1"),当未设置该字段时它是无,当用户确实在表单上填写该字段时似乎也是无。

如何使用request.args.get() 或任何其他方法检查表单字段是否留空? request.form.get() 返回什么?

【问题讨论】:

    标签: python html forms flask post


    【解决方案1】:

    如果未找到请求的密钥,Python 中几乎所有的.get() 方法都会默认返回None

    # get the submitted value (if any)
    field = request.form.get("field")
    
    # if a value was submitted, trim off leading/trailing blanks
    if field:
        field = field.strip()
    
    # if no value was submitted at all, or if the value was all blanks, default to None
    if not field:
        field = None
    

    【讨论】:

      猜你喜欢
      • 2012-05-27
      • 1970-01-01
      • 2013-12-10
      • 1970-01-01
      • 2014-07-22
      • 2022-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多