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

Объект default_storage

Объект default_storage представляет собой экземпляр класса Storage, который используется по умолчанию для всех операций с файлами в Django. Он предоставляет единый интерфейс для работы с файлами независимо от того, используется ли локальная файловая система или облачное хранилище. Объект автоматически настраивается на основе параметра DEFAULT_FILE_STORAGE в настройках проекта. Основные методы включают сохранение, открытие, удаление и проверку существования файлов.

Синтаксис

from django.core.files.storage import default_storage # Сохранение файла default_storage.save(name, content) # Открытие файла default_storage.open(name, mode='rb') # Удаление файла default_storage.delete(name) # Проверка существования default_storage.exists(name) # Получение размера файла default_storage.size(name) # Получение URL файла default_storage.url(name) # Получение пути к файлу default_storage.path(name)

Пример

Давайте сохраним текстовый файл в хранилище по умолчанию:

from django.core.files.base import ContentFile from django.core.files.storage import default_storage # Создание содержимого файла content = ContentFile("Hello, World!") # Сохранение файла filename = default_storage.save("example.txt", content) print(filename)

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

"example.txt"

Пример

Давайте откроем сохраненный файл и прочитаем его содержимое:

from django.core.files.storage import default_storage # Открытие файла для чтения file = default_storage.open("example.txt", mode='rb') content = file.read().decode('utf-8') file.close() print(content)

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

"Hello, World!"

Пример

Давайте проверим существование файла перед его удалением:

from django.core.files.storage import default_storage # Проверка существования if default_storage.exists("example.txt"): # Получение размера size = default_storage.size("example.txt") print(f"File size: {size} bytes") # Удаление файла default_storage.delete("example.txt") print("File deleted successfully") else: print("File not found")

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

"File size: 12 bytes" "File deleted successfully"

Пример

Давайте получим URL и путь к файлу для использования в шаблонах:

from django.core.files.base import ContentFile from django.core.files.storage import default_storage # Сохранение изображения content = ContentFile(b"fake image data") filename = default_storage.save("image.jpg", content) # Получение URL file_url = default_storage.url(filename) print(file_url) # Получение пути к файлу file_path = default_storage.path(filename) print(file_path)

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

"/media/image.jpg" "/path/to/project/media/image.jpg"

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

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