@denisland

NameError: name 'town' is not defined, почему?

Выдает такую ошибку: NameError: name 'town' is not defined

Не понимаю почему, ведь town должен был принять значение. Не ругайте строго, только начинаю изучать, но уже второй день я с этим не могу справить.

Сам код:
@dp.message_handler(state=UserState.town)
	async def get_town(message: types.Message, state:FSMContext):
		await state.update_data(town=message.text)
		data = await state.get_data()
		markup2 = types.ReplyKeyboardMarkup(one_time_keyboard=True)
		markup2.add(types.KeyboardButton('Да!'))
		markup2.add(types.KeyboardButton('Нет, хочу изменить параметры поиска'))
		await message.answer(f"Итак, {data['username']}, ты хочешь посмотреть {data['cat_id']} в городе {data['town']}. верно?", reply_markup=markup2)
		await UserState.next()
		@dp.message_handler()
		async def begin(message: types.Message):
			if message.text == 'Да!':
				with sqlite3.connect ('database.db') as connection:
					cursor = connection.cursor()
					cursor.execute("""
					SELECT * FROM DataBase WHERE Category == (?) AND City == (?)
					""", (call.data, town, ))
					result = cursor.fetchall()
					print(result)
  • Вопрос задан
  • 34 просмотра
Пригласить эксперта
Ответы на вопрос 1
AlexNest
@AlexNest
Работаю с Python/Django
cursor.execute("""
          SELECT * FROM DataBase WHERE Category == (?) AND City == (?)
          """, (call.data, town, ))

1.Откуда в параметрах берется переменная town? Где вы ее объявляете?
2.Почему используете синхронную библиотеку для работы с БД в асинхронном боте?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы