#44. Практика Django
Практика Django
Создание Django проекта в Replit
Файловый менеджер в браузере
Необходимо реализовать аналог файлового менеджера
- login, logout, пользователи
- settings + model возможность выбирать, какие колонки отображать + единицы измерения размера файлов (Kb, Mb, Gb, Tb), колонки можно отключать все, кроме name
- Колонки: Name, Type (file, dir, simlink), Size, Permissions
- по директориям можно переходить, кликнув на них
- вверху всегда отображается .. - переход на предидкщую директорию
- тестовые файлы должны быть кликабельны - при переходе отображать содержимое
- nav bars - верхний и нижний(стутус бар, текущая директрия, всего файлов)
os
Получение атрибутов файла
from datetime import datetime
from os import scandir
def convert_date(timestamp):
d = datetime.utcfromtimestamp(timestamp)
formated_date = d.strftime('%d %b %Y')
return formated_date
def get_files():
dir_entries = scandir()
for entry in dir_entries:
if entry.is_file():
info = entry.stat()
print(f'{entry.name}\t Last Modified: {convert_date(info.st_mtime)}')
>>> get_files()
file1.py Last modified: 04 Oct 2018
file3.txt Last modified: 17 Sep 2018
file2.txt Last modified: 17 Sep 2018
Запись в session
if 'path' not in request.session:
request.session['path'] = os.getcwd()