PythonBackend

Создание мини-приложения на Flask за день: трекер расходов

·MAGMA

Что такое трекер расходов?

Сегодня я завершил создание небольшого приложения на Flask — трекера расходов. Это приложение позволяет пользователям регистрироваться, входить в систему, добавлять расходы и фильтровать их по категориям. Также отображается общая сумма всех расходов.

Почему именно трекер расходов?

Мне хотелось создать что-то небольшое, но при этом достаточно реальное, чтобы можно было использовать его ежедневно. Трекер расходов идеально подходит под эти критерии: он решает реальную проблему учета финансов, использует все концепции Flask, которые я изучил ранее, и отличается от других проектов, над которыми я работал раньше.

Структура проекта

Приложение состоит из двух частей:

Аутентификация пользователей

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

Управление расходами

Авторизованные пользователи могут добавить новый расход, указав сумму, категорию, описание и дату. Все расходы отображаются в виде списка, где новые записи находятся сверху. Пользователь может фильтровать список по категориям, а итоговая сумма обновляется автоматически после применения фильтра. Любой расход можно удалить.

Архитектура проекта

Проект организован следующим образом:

  • app.py: точка входа в приложение; здесь создается экземпляр Flask, настраивается подключение к базе данных и секретный ключ, инициализируются расширения SQLAlchemy, Flask-Migrate и Flask-Login, регистрируется функция загрузки пользователя и импортируются маршруты.
  • models.py: определяет две таблицы базы данных — User и Expense, каждая со своим набором полей.
  • routes.py: содержит функции маршрутов, обрабатывающие запросы HTTP GET и POST.
  • templates/: папка с HTML-шаблонами, используемыми для рендеринга страниц.

Таким образом, всего за один день удалось собрать полноценное веб-приложение, которое не только демонстрирует возможности Flask, но и является полезным инструментом.

Вернуться к блогу
Трекер расходов на Flask за день — MAGMA