У меня есть веб-страница со списком из 5 полей. Я пытаюсь создать вывод в зависимости от полей, выбранных пользователем.
Вот код, который у меня сейчас есть, и он отлично работает.
fields = {field: value for field, value in form.data.items() if
value != None or value != 'csrf_token'}
print(fields)
## This prints out a list of all fields
o = []
for a in fields:
if a is not None:
o.append(a)
print(o)
p = o[:-1]
print(p)
output = sample_function(*p)
Проблема, с которой я сталкиваюсь, заключается в том, что независимо от того, какие поля выбраны, результат одинаков (он возвращает все поля независимо от того, выбраны они или нет).
Может ли кто-нибудь посоветовать, где я ошибаюсь. Спасибо.
Обновлять:
@app.route('/index', methods=['GET','POST'])
def sample_function():
form = SampleForm()
if form.validate_on_submit():
store_id = form.store_id.data
store_name = form.store_name.data
location_id = form.location_id.data
store_type = form.store_type.data
store_location = form.store_location.data
fields = {field: value for field, value in form.data.items() if
value != None or value != 'csrf_token'}
print(fields)
## This prints out a list of all fields
o = []
for a in fields:
if a is not None:
o.append(a)
print(o)
p = o[:-1]
print(p)
output = sample_function(*p)
Функция, выполняющая запрос:
def sample_function(*field_names):
cursor = conn.cursor()
cursor.execute('select {} from table.format(', '.join(str(field) for field in field_names)))
@TrebuchetMS это была опечатка, я ввел ключ! = Нет дважды .. Я отредактировал сообщение
@TrebuchetMS проблема все еще существует ..
В этом первом комментарии я просто указал на то, что я считаю непреднамеренным. Глядя на ваш вопрос, я все еще не понимаю, как ваши поля выбираются пользователем и как это связано с показанным вами кодом. Пожалуйста, дополните...?
@TrebuchetMS, как упоминалось в моем первоначальном сообщении, у меня есть веб-страница с 5 полями (флажками). Как пользователь я могу выбрать любое из полей. На основе пользовательского ввода создается Excel с выбранными полями. Если все флажки установлены, создается Excel. Однако, если я сниму отметку с одного из флажков, он все равно будет возвращать тот же результат со всеми столбцами .. Я обновил свою первоначальную публикацию, полную форму с помощью SQL, который запускается при отправке ..
@TrebuchetMS Надеюсь, обновленный пост поможет ..
Опять же, if value != None or value != 'csrf_token' является избыточным, поскольку любой value передаст условие как True. Я сомневаюсь, что это твое намерение.
Позвольте нам продолжить обсуждение в чате.






Привет,
if value != None or key != 'None' or key != 'csrf_token', здесьorлишний. Любой ключ пройдет проверку. Вы хотели использоватьand?