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





