В прошлой статье мы сделали исключения к нашим значением. Пришло время подключить нашу базу данных postgres к проекту с помощью библиотеки asyncpg.
Приступим:
1. Создадим таблицу.
Создадим таблицу user_role:
2. Установим в наш venv новый пакет:
Запишем в requirements.txt пакет asyncpg:
Установим пакет:
pip install -r requirements.txt
3. Добавим в таблицу строку с админом:
4. Добавим новые настройки.
Перейдем в .env, уберем строку ADMIN и добавим данные которые настраивали в этой статье:
user=Ваш пользователь от postgres
password=Ваш пароль пользователя от postgres
database=База данных postgres
host=localhost
5. Добавим код в проект.
Создадим папку bd_handlers в основной директории и в ней создадим ещё папку user_role:
В папке user_role создаем файл check_user_role.py и добавляем код:
В папке user_role создаем файл create_admin.py и добавляем код:
В папке user_role создаем файл create_cm.py и добавляем код:
В папке user_role создаем файл delete_user_role.py и добавляем код:
Переходим в папку config:
В файле bot_config.py меняем код:
Переходим в папку start:
В файле start.py добавляем строки:
Переходим в папку keyboards:
В файле admin_panel_keyboard_main_menu.py добавляем строки:
Переходим в файл telegram_bot.py и добавляем импорты:
Остаются три файла, все три в admin_panel, в handlers:
Они очень большие, чтобы не издеваться над вами скриншотами, я просто приложу ссылки на них на GitHub.
Посмотрите и почитайте, что в них выполняется:
6. Проверяем работу.
Проверяем создается ли контент менеджер:
Проверяем БД:
Проверяем ошибки:
Проверяем удаление роли:
Проверяем БД:
Все успешно.
В следующей статье мы добавим посты в нашего бота.
Проект на GitHub: тут.
Всем спасибо, что дочитали эту статью.
Если вам понравилось, подпишитесь на канал и поставьте лайк.
Если есть вопросы, можете задать их в комментариях или в чате в telegram.
Канал в telegram: тут.
#2022 #программирование #технологии #postgres #python #telegram #bot #телеграм #бот #россия