如何检查 django 表单数据是不是为 None、''(空字符串)或 False
Posted
技术标签:
【中文标题】如何检查 django 表单数据是不是为 None、\'\'(空字符串)或 False【英文标题】: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
。
【参考方案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
。
【讨论】:
啊!谢谢,我以前做过,但是有这样的思维障碍以上是关于如何检查 django 表单数据是不是为 None、''(空字符串)或 False的主要内容,如果未能解决你的问题,请参考以下文章