Как проверить, что данные формы django равны None, ' ' (пустая строка) или False

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

Я пытаюсь проверить, является ли это поле first_name пустым или "Нет". Но если поле окажется пустым, следующее вернет ( u'') вместе с false. Любое другое решение для определения, является ли это конкретное поле формы пустым или нет? И почему это происходит?

3 ответа

Решение

Проблема в том, что, проверяя:

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

Только проверяет, имеет ли значение None, где as:

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,

Вы можете просто сделать:

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>
Другие вопросы по тегам