РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
631 of 818 menu

Атрибут size

Атрибут size класса File возвращает размер файла в байтах. Этот атрибут доступен только для чтения и позволяет быстро получить информацию о размере загруженного или сохраненного файла. Атрибут может возвращать целое число или None, если файл не существует или его размер не может быть определен.

Синтаксис

file_instance.size

Пример

Давайте создадим объект файла и получим его размер:

from django.core.files.base import File from django.core.files.temp import NamedTemporaryFile from django.core.files import File as DjangoFile # Create a temporary file with some content temp_file = NamedTemporaryFile() temp_file.write(b"Hello, World!") temp_file.seek(0) # Create Django File object file_obj = File(temp_file) # Get file size res = file_obj.size print(res)

Результат выполнения кода:

"13"

Пример

Давайте используем атрибут size для проверки размера загруженного файла в обработчике формы:

from django.core.files.uploadedfile import UploadedFile from django.shortcuts import render def handle_upload(request): if request.method == "POST": uploaded_file = request.FILES["document"] file_size = uploaded_file.size if file_size > 2 * 1024 * 1024: return render(request, "error.html", { "message": "File size exceeds 2 MB" }) # Process the file return render(request, "success.html", { "size": file_size }) return render(request, "upload.html")

Пример

Давайте используем атрибут size в модели для отображения размера файла в читаемом формате:

from django.db import models from django.core.files import File class Document(models.Model): title = models.CharField(max_length=100) file = models.FileField(upload_to="documents/") def get_size_display(self): size_bytes = self.file.size if size_bytes is None: return "0 bytes" if size_bytes < 1024: return f"{size_bytes} bytes" elif size_bytes < 1024 * 1024: return f"{size_bytes / 1024:.2f} KB" else: return f"{size_bytes / (1024 * 1024):.2f} MB" # Usage example doc = Document.objects.get(id=1) print(doc.get_size_display())

Результат выполнения кода:

"2.35 MB"

Смотрите также

  • класс File,
    который предоставляет базовые методы для работы с файлами
  • атрибут name,
    который возвращает имя файла
  • класс Storage,
    который предоставляет методы для управления файловым хранилищем
  • метод size,
    который возвращает размер файла в хранилище
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить