2016-09-20 2 views
0

У меня есть 2 поля формы в моем html-коде, который попадает в скрипт python. Все работает отлично, если я предоставляю оба ввода в форме. Но в моем случае второе поле является необязательным. Я получаю пустой результат, когда я отправляю форму только с 1-м полем. Как обрабатывать мой код для запуска, даже если второе поле пустое/нуляКак обрабатывать значение пустой формы в python

кода Python:

import cgi 
form = cgi.FieldStorage() 
first=form["firstSix"].value 
last=form["lastFour"].value 
+0

Нам понадобится больше контекста, чем это поможет вам. Какие данные передаются в форму? Что вы делаете с данными, которые вы извлекаете? Пожалуйста, постарайтесь быть более конкретными. – pzp

+0

'cgi.FieldStorage()' вернет вам право? –

ответ

0
import cgi 
form = cgi.FieldStorage() 
first=form["firstSix"].value 

if form["lastFour"]: 
    last=form["lastFour"].value 
else: 
    form["lastFour"] = None 
0

Вы можете проверить, если что-то пусто с булевым.

if not form["lastFour"]: 
    print "lastFour is empty!" 
else: 
    print "lastFour has a value!" 

Любая пустая строка считается ложной и имеет значение true. Таким образом, "" является ложным, а "Hello World!" - это правда. Если значение формы равно None, вам, возможно, придется это проверить.

if not form["lastFour"]: 
    print "lastFour is empty!" 
elif form["lastFour"] == None: 
    print "lastFour has is empty!" 
else: 
    print "lastFour has a value!" 
+0

Если я передаю значение, напечатано «lastFour имеет значение», но если я передаю пустое, «lastFour is empty» не печатается. В любом случае, я получил решение, подсчитав длину моей словарной формы и манипулируя моим кодом после этого. –

+0

Удивительный! Он должен работать, но я тестировал его на консоли, и это сработало. Если 'form [" lastFour "]' является значением 'None', вам также, возможно, придется это проверить. – baranskistad

Смежные вопросы