может посмотреть как более опытный разраб, какие то советы подкинуть?
Стек telebot psycopg2
1. раздели на файлы 2. не используй глобальные переменные 3. разделяй код, где написан sql и тот что реализует логику
кстати, beginners вопрос под третьим пунктом обычно понимают создание функций(методов) типа thing.get_all_users(), thing.get_user_data(id) и тд?
1. У меня есть главный файл bot.py в котором строится логика telebot 2. Есть файл bot_logic в который я вынес функции и классы которые строят внутреннюю логику приложения. 3. есть bot_config в котором все клавиатуры, списки с наименованием продуктов и тп 4. И собсна postgres.py в котором есть функции относящиеся только с работой в БД и главная функция make_query() с помощью которой я обращаюсь к БД в главном файле. Из глобальных переменных только константы Что скажешь?
1. клавиатуры не тянут на конфиг, неудачное имя 2. make_query звучит сомнительно, сделай много разных функций, которые делают кокнретные вещи.
Клавиатуры вынести в keyboards.py например? а make_query() вот таким образом работает - def make_query(query, fetch=None): connection = psycopg2.connect(user='postgres', password='5432', host='127.0.0.1', port=5432, database='dairyproject') with connection.cursor() as cursor: cursor.execute(query) if fetch == 'one': return cursor.fetchone() elif fetch == 'all': return cursor.fetchall() connection.commit() она вызывается около 70 раз по всему проекты в двух файлах (в основном в главном) не знаю как сделать тогда
а вот что вместо глобалов, магические константы
у тебя адрес БД и пароли должны браться из конфигурационного файла/переменных окружения, а не валяться в коде
откуда ты спер этот код? у латанда?
Данные бд тянутся с postgres_config.py там как раз данные для коннекта, и мои внутренние заметки
https://t.me/advice17/16
Сам написал 😂 не понимаю о чем ты
то есть глобальные переменные все таки?
Мной инициализированных нет, если ты об этом
так адрес БД откуда берется?
Обсуждают сегодня