Blogicum — современная блог-платформа, созданная с использованием фреймворка Django.
Реализует весь базовый функционал: работа с пользователями, публикации, категории, комментарии, медиафайлы, а также улучшенный UX за счёт кастомных страниц ошибок и пагинации.
Проект построен с опорой на лучшие практики Django и демонстрирует навыки работы с CBV, FBV, формами, системой авторизации и админкой.
- Регистрация, вход, выход, смена пароля
- Профиль пользователя:
/profile/<username>/ - Редактирование личных данных
- Контроль прав доступа: только автор может редактировать/удалять свои посты и комментарии
- Создание и редактирование постов
- Поддержка изображений
- Отложенные публикации по дате
- Привязка к категориям и локациям
- Пагинация (по 10 постов) на главной, в профиле и по категориям
- Комментирование постов (только для авторизованных)
- Редактирование и удаление своих комментариев
- Комментарии отсортированы по дате (от старых к новым)
- Количество комментариев отображается в списках постов
- Кастомные страницы ошибок:
403,404,500 - Статичные страницы: «О проекте», «Правила» (реализованы на CBV)
- Один шаблон используется и для создания, и для редактирования поста
- Чёткая структура шаблонов и маршрутов
- Управление категориями и локациями через Django admin
- Отложенные и снятые с публикации посты видны только их авторам
| Технология | Назначение |
|---|---|
| Python 3.10+ | Язык программирования |
| Django 3.2 | Веб-фреймворк |
| SQLite | База данных по умолчанию |
| HTML + DTL | Шаблонизатор и структура интерфейса |
| Django Auth | Система пользователей и авторизация |
| CBV + FBV | Представления: классы и функции |
| Bootstrap 5 | Стилизация интерфейса |
| Email (file backend) | Фиктивная отправка писем в sent_emails/ |
- Клонируйте репозиторий:
git clone <адрес_репозитория>
cd blogicum- Создайте и активируйте виртуальное окружение:
python -m venv venv
source venv/bin/activate # для Linux/MacOS
venv\Scripts\activate # для Windows- Установите зависимости:
pip install -r requirements.txt- Примените миграции:
python manage.py migrate- Создайте суперпользователя:
python manage.py createsuperuser- Запустите сервер разработки:
python manage.py runserverОткройте в браузере: http://127.0.0.1:8000/
-
Все письма, отправленные через форму восстановления пароля, сохраняются в директории sent_emails/ (не входят в репозиторий).
-
Шаблоны ошибок расположены в templates/pages/.
-
Используется как CBV (для статичных страниц), так и FBV (для логики блога и комментариев).