«Blogopost» — это сайт, на котором пользователи могут обмениваться информацией, публикуя различные статьи. Текст может форматироваться с помощью markdown. Для упрощения работы с сайтом предусмотрены группы, создаваемые администратором и выступающие в качестве категорий. У каждой группы есть своя уникальная ссылка и текстовое описание. В разделе «избранное» отображаются статьи авторов, на которых подписался пользователь. Каждый пользователь может редактировать свой профиль, изменяя описание или аватарку. На сайте есть возможность комментирования записей, редактирования собственных статей. Главная страница кешируется с помощью locmem cache.
Остальные изображения доступны здесь: Yandex Disk
- Python
- Django
- Docker
- PostgreSQL
- nginx
Файл с зависимостями requirements.txt находится в папке blogopost.
Помимо стандартного запуска Django-проекта предусмотрена возможность запуска проекта в Docker (с docker-compose). Для этого необходимо создать в папке infra файл .env и заполнить его данными по примеру файла .env.example. Далее, находясь в папке infra, требуется выполнить следующие команды:
docker-compose up -d
Проект будет собран в «тихом режиме», после чего необходимо последовательно выполнить следующие команды:
docker-compose exec backend python manage.py makemigrations
docker-compose exec backend python manage.py migrate
docker-compose exec backend python manage.py collectstatic
Можно также сразу создать администратора с помощью команды:
docker-compose exec backend python manage.py createsuperuser
При успешном запуске проект и администраторская панель буудт доступны здесь:
http://localhost
http://localhost/admin