【问题标题】:How to check if django form data is None, ' ' (empty string), or False如何检查 django 表单数据是否为 ​​None、''(空字符串)或 False
【发布时间】:2013-11-16 14:52:33
【问题描述】:
if form.data['first_name'] is None:
    return True
else: 
   return False  

我正在尝试检查这个 first_name 字段是空白还是“无”。但是,如果该字段恰好为空白,则以下内容将返回 (u'') 以及 false。确定此特定表单字段是否为空白或无的任何其他解决方案?为什么会这样?

【问题讨论】:

  • 你应该检查form.cleaned_data,而不是form.data

标签: python django forms field


【解决方案1】:

问题在于通过检查:

 if form.data['first_name'] is None:

您只检查该值是否为无,而:

if not form.data['first_name']:

检查None'' 是否为空字符串或False

你还可以做的是:

return bool(form.data.get('first_name', False))

在这种情况下,如果form.data['first_name'] 不存在,则为return False,如果值为None'',则为return False,如果值为True'a string',则为return True.

【讨论】:

    【解决方案2】:

    或执行以下操作:-

    if not form.data['first_name']:
    

    firstname=FormData.getvalue('first_name')
    if not firstname:
       <then let people know this shouldn't be empty or None>
    

    【讨论】:

      【解决方案3】:

      你可以这样做:

      if form.data['first_name']:
      

      is None 专门检查None

      【讨论】:

      • 啊!谢谢,我以前做过,但是有这样的思维障碍
      猜你喜欢
      • 2015-06-05
      • 2017-08-19
      • 1970-01-01
      • 2012-11-24
      • 2011-11-25
      • 2012-03-23
      相关资源
      最近更新 更多