WEB - приложение предоставляет возможность взаимодействия с API Яндекс.Диска.
Просмотр и скачивание файлов с Яндекс.Диска по публичной ссылке.
После того как пользователь проходит процесс авторизации.
Открывается страница работы с публичной ссылкой.
В поле вводим публичную ссылку, нажимаем кнопку Enter. В интерфейсе отобразится список файлов и папок публичной ссылки.
Кнопка "X" очищает поле ввода.
При успешном открытии публичной ссылки, появится окно вложенности папок,
кнопка возврата на верхний уровень, а также кнопка скачивания выбранных
файлов и кнопка скачивания всей папки одним архивом .zip.
Файлы, папки и архивы скачиваются в папку приложения "downloads".
Списки файлов кэшируются, для обеспечения быстродействия приложения.
Скачайте код:
git clone https://github.com/SwedL/ydisk_app.git
Перейдите в каталог проекта ydisk_app
.
cd ydisk_app
Создайте файл .env
с переменными окружения и положите туда такой код:
DEBUG=True
REDIS_URL=redis://redis:6379
SECRET_KEY='vu1c-=svhigsn81!1doknfa2zxchlq&^37vdyqgc165a8wswjr'
! Важно: SECRET_KEY замените на свой.
Создайте виртуальное окружение:
- Windows:
python -m venv venv
- Linux:
python3 -m venv venv
Активируйте его командой:
- Windows:
.\venv\Scripts\activate
- Linux:
source venv/bin/activate
Перейдите в каталог приложения ydisk
.
cd ydisk
Установите зависимости в виртуальное окружение:
pip install -r requirements.txt
Для обеспечения выполнения фоновых асинхронных задач, в качестве брокера сообщений, необходимо установить и запустить Redis.
https://redis.io/docs/install/install-redis/
Создайте необходимые таблицы базы данных командой:
python manage.py migrate
Создайте модель суперпользователя командой:
python manage.py createsuperuser
Запустите worker Celery:
- Windows:
celery -A ydisk worker -P eventlet --loglevel=info
- Linux:
celery -A ydisk worker
Откройте новое окно терминала, снова активируйте виртуальное окружение командой:
- Windows:
.\venv\Scripts\activate
- Linux:
source venv/bin/activate
Перейдите в каталог приложения ydisk
.
cd ydisk
Запустите сервер:
python manage.py runserver
Сервер работает на адресе http://127.0.0.1:8000/
Скачайте код:
git clone https://github.com/SwedL/ydisk_app.git
Перейдите в каталог проекта ydisk_app
.
cd ydisk_app
Создайте файл .env
с переменными окружения и положите туда такой код:
DEBUG=True
REDIS_URL=redis://redis:6379
SECRET_KEY='vu1c-=svhigsn81!1doknfa2zxchlq&^37vdyqgc165a8wswjr'
! Важно: SECRET_KEY замените на свой.
Выполните сборку образа:
docker-compose build
Запустите контейнер:
docker-compose up -d
Создайте суперпользователя:
docker exec -it ydisk python manage.py createsuperuser
Сервер работает на адресе http://127.0.0.1:8000/
Проект покрыт тестами моделей, форм, представлений и url.
Тесты запускаются командой:
python manage.py test
В docker:
docker exec -it ydisk python manage.py test
- Осминин Алексей - SwedL