Django Практика

Практика Django

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