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

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

4

3 回答 3

25

问题是通过检查:

 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

于 2013-11-05T16:42:56.390 回答
4

你可以简单地做:

if form.data['first_name']:

is None专门检查None.

于 2013-11-05T16:32:54.277 回答
1

或执行以下操作:-

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>
于 2016-08-24T12:34:35.577 回答