#44. Практика Django

Практика Django

enter image description here

Создание Django проекта в Replit

Файловый менеджер в браузере

enter image description here
Необходимо реализовать аналог файлового менеджера

  1. login, logout, пользователи
  2. settings + model возможность выбирать, какие колонки отображать + единицы измерения размера файлов (Kb, Mb, Gb, Tb), колонки можно отключать все, кроме name
  3. Колонки: Name, Type (file, dir, simlink), Size, Permissions
  4. по директориям можно переходить, кликнув на них
  5. вверху всегда отображается .. - переход на предидкщую директорию
  6. тестовые файлы должны быть кликабельны - при переходе отображать содержимое
  7. nav bars - верхний и нижний(стутус бар, текущая директрия, всего файлов)

os

Working With Files in Python

Получение атрибутов файла


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()