如何检查django表单数据是否为None,''(空字符串)或False

Dap*_*Dap 4 python forms django field

if form.data['first_name'] is None:
    return True
else: 
   return False  
Run Code Online (Sandbox Code Playgroud)

我正在尝试检查此first_name字段是空白还是"无".但是如果该字段恰好是空白,则以下将返回(u'')和false.用于确定此特定表单字段是空白还是无空白的任何其他解决方案?为什么会这样?

Mat*_*our 17

问题是通过检查:

 if form.data['first_name'] is None:
Run Code Online (Sandbox Code Playgroud)

仅检查值是否为None,其中:

if form.data['first_name']:
Run Code Online (Sandbox Code Playgroud)

检查None''空字符串或False来.

你还可以做的是:

return bool(form.data.get('first_name', False))
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如果form.data['first_name']不存在,它将是return False,如果值是,None或者''这也将return False,如果值是True'a string'它将return True.