Этот проект представляет собой универсальную каталожную платформу, разработанную на Django, предназначенную для систематизации информации об известных личностях.
Проект разработан в первую очередь для практического применения полученных знаний и навыков в следующих областях:
- Контейнеризация и архитектура: Использование Docker для создания изолированных контейнеров, обеспечивающих легкость развертывания и масштабируемость приложения.
- База данных: Интеграция PostgreSQL для хранения данных о пользователях, постах и изображениях, обеспечивающая эффективное управление информацией.
- Разработка Django приложения: Создание платформы, позволяющей пользователям регистрироваться, авторизовываться, восстанавливать пароли, создавать посты с изображениями и тегами.
Проект предлагает следующие ключевые возможности:
- Регистрация и аутентификация пользователей: Безопасная и удобная система управления доступом.
- Управление постами: Возможность создания, редактирования и удаления постов с добавлением изображений и тегов.
- Интерактивный интерфейс: Использование Django Debug Toolbar и Django Extensions для удобной разработки и отладки.
Проект использует передовые технологии и инструменты для обеспечения высокого уровня профессионализма:
- Docker: Контейнеризация приложения для облегчения развертывания и управления окружением.
- PostgreSQL: Мощная реляционная база данных для надежного хранения и управления данными.
- pip-tools: Управление зависимостями Python для гибкости и безопасности в разработке.
- ipython: Интерактивная среда разработки для быстрой отладки и анализа данных.
- Другие инструменты: Django Debug Toolbar для профилирования приложения и Django Extensions для дополнительных функций разработки.
Проект можно доработать и адаптировать для различных целей:
- Личный сайт: Идеальное решение для создания персонального веб-профиля с возможностью добавления контента и управления им.
- Блог: Платформа поддерживает создание и публикацию постов с изображениями и тегами, идеально подходит для ведения блога.
- Справочный каталог: Возможность добавления информации о различных личностях или предметах, обогащенная мультимедийным контентом.
-
Клонировать репозиторий:
git clone <url-репозитория> cd sitewomen
-
Установить зависимости:
pip install -r requirements.txt
-
Настроить переменные окружения:
Создайте файл .env на основе .env.example и заполните необходимыми значениями.
-
Применить миграции:
python manage.py migrate
-
Для развертывания приложения с использованием Docker выполните следующие шаги:
-
Установите Docker и Docker Compose, если они не установлены.
-
Соберите Docker-образы и запустите контейнеры:
docker-compose up -d --build
-
Примените миграции в запущенном контейнере:
docker-compose exec web python manage.py migrate
-
Создайте суперпользователя (необходимо только при первом запуске):
docker-compose exec web python manage.py createsuperuser
-
Приложение будет доступно по адресу http://localhost:8000.
-
djvenv: Виртуальное окружение Python.
- library root: Корневая директория библиотеки.
-
sitewomen: Основная директория проекта Django.
-
media: Директория для хранения медиафайлов.
- photos: Фотографии.
- uploads_model: Загруженные файлы модели.
-
sitewomen: Главная директория проекта Django.
- __init__.py: Файл инициализации проекта.
- asgi.py: ASGI конфигурация для асинхронных HTTP серверов.
- settings.py: Основные настройки проекта Django.
- urls.py: Маршрутизация URL приложения.
- wsgi.py: WSGI конфигурация для веб-серверов.
-
static: Директория для статических файлов проекта.
- css: Каскадные таблицы стилей.
-
staticfiles: Статические файлы, собранные Django.
- admin: Файлы статики для административного интерфейса.
- debug_toolbar: Файлы статики для Django Debug Toolbar.
- django_extensions: Файлы статики для Django Extensions.
- women: Файлы статики для приложения "women".
-
templates: HTML-шаблоны проекта.
- admin: Шаблоны для административного интерфейса.
- base.html: Основной шаблон проекта.
-
users: Приложение для управления пользователями.
- migrations: Миграции базы данных.
- templates: HTML-шаблоны приложения.
- __init__.py: Файл инициализации приложения.
- admin.py: Настройки административного интерфейса.
- apps.py: Конфигурация приложения.
- authentication.py: Модуль аутентификации.
- context_processors.py: Процессоры контекста.
- forms.py: Формы пользователя.
- models.py: Модели данных.
- tests.py: Тесты приложения.
- urls.py: URL-маршрутизация приложения.
- views.py: Представления приложения.
-
women: Приложение для работы с данными.
- migrations: Миграции базы данных.
- static: Статические файлы приложения.
- templates: HTML-шаблоны приложения.
- templatetags: Теги шаблонов Django.
- __init__.py: Файл инициализации приложения.
- admin.py: Настройки административного интерфейса.
- apps.py: Конфигурация приложения.
- converters.py: Конвертеры данных.
- forms.py: Формы приложения.
- models.py: Модели данных.
- tests.py: Тесты приложения.
- urls.py: URL-маршрутизация приложения.
- utils.py: Вспомогательные утилиты приложения.
- views.py: Представления приложения.
-
-
.env: Файл для хранения переменных окружения.
-
.env.example: Пример файла переменных окружения.
-
.gitignore: Файл для игнорирования файлов Git.
-
datadump.json: JSON файл с данными.
-
docker-compose.yml: Конфигурация Docker Compose.
-
Dockerfile: Файл для сборки Docker образа.
-
manage.py: Файл управления Django.
-
requirements.in: Входной файл зависимостей pip-tools.
-
requirements.txt: Сгенерированный файл зависимостей Python.