if form.data['first_name'] is None:
return True
else:
return False
この first_name フィールドが空白か「なし」かを確認しようとしています。ただし、フィールドがたまたま空白の場合、次は false とともに ( u'' ) を返します。この特定のフォーム フィールドが空白であるかどうかを判断するための他の解決策はありますか? そして、なぜこれが起こるのですか?
問題は、次のことを確認することです。
if form.data['first_name'] is None:
値が 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
。
あなたは簡単に行うことができます:
if form.data['first_name']:
is None
特に をチェックしNone
ます。
または、次の操作を行います:-
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>