Разработать файловый менеджер для локального запуска и отображения
Требования к программе:
- файловый менеджер должен отображаться в веб-браузере
- возможность подниматься вверх по структуре и внуть папки
- корнем должна быть отдельная папка static, заданная в структуре приложения
- доступ выше корневой папки и к файлам приложения должен быть закрыт для пользователя
- возможность загрузки файла
- возможность открывать/скачивать файл
- возможность удалить файл
- (дополнительно) возможность отображения картинок при наведении на нее в списке файлов (подгрузка через JavaScript)
- (дополнительно) отображение размера файла/папки
Сначала необхоисо активировать виртуальное окружение и скачать все необходимые пакеты:
$ pip install -v virtualenv && virtualenv --no-site-packages ./venv
$ ./venv/bin/activate
$ pip install -v -r requirements.txt
Данное приложение запускается на внутреннем сервере Gunicorn, который будет установлен вместе со всеми пакетами
Далее необходимо запустить миграции базы данных и создать суперпользователя всей системы:
$ python manage.py migrate
$ python manage.py createsuperuser
Запуск приложения (По умолчанию запуск происходит на 8000 порту)
$ sudo python manage.py runserver
Также вохможна сборка из Docker контейнера:
$ sudo docker-compose up
Тестирование осуществляется внутренним фреймворком Django. Оно носит модульный характер и проверяет работу эндпоинтов
Запуск всех тестов осуществляется через команду python manage.py test
:
$ python manage.py test
Creating test database for alias 'default'...
System check identified no issues (0 silenced).
...
----------------------------------------------------------------------
Ran 3 tests in 0.001s
OK
Destroying test database for alias 'default'...