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

时间:2013-11-05 16:31:27

标签: python django forms field

if form.data['first_name'] is None:
    return True
else: 
   return False  

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

3 个答案:

答案 0 :(得分:15)

问题在于检查:

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

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

if 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 {{1}}。

答案 1 :(得分:4)

您可以这样做:

if form.data['first_name']:

is None专门检查None

答案 2 :(得分:0)

或执行以下操作: -

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>