Spec-Zone.ru › Django 1.9

API хранилища файлов

Получение текущего класса хранилища

Django предоставляет два удобных способа доступа к текущему классу хранилища:

class DefaultStorage [source]

DefaultStorage предоставляет ленивый доступ к текущей системе хранения по умолчанию, определенной в DEFAULT_FILE_STORAGE. DefaultStorage использует get_storage_class() внутри.

get_storage_class(import_path=None) [source]

Возвращает класс или модуль, реализующий API хранилища.

При вызове без параметра import_path get_storage_class вернёт текущую систему хранения по умолчанию, определённую в DEFAULT_FILE_STORAGE. Если параметр import_path указан, get_storage_class попытается импортировать класс или модуль из заданного пути и вернёт его, если импорт успешен. Если импорт неуспешен, будет поднято исключение.

Класс FileSystemStorage

class FileSystemStorage(location=None, base_url=None, file_permissions_mode=None, directory_permissions_mode=None) [source]

Класс FileSystemStorage реализует базовые функции хранения файлов на локальной файловой системе. Он наследуется от Storage и предоставляет реализации всех публичных методов последнего.

location

Абсолютный путь к каталогу, который будет содержать файлы. По умолчанию имеет значение вашего параметра MEDIA_ROOT.

base_url

URL, который отображает файлы, сохранённые в этом каталоге. По умолчанию имеет значение вашего параметра MEDIA_URL.

file_permissions_mode

Права доступа к файлам в файловой системе, которые файл получит при сохранении. По умолчанию имеет значение FILE_UPLOAD_PERMISSIONS.

directory_permissions_mode

Права доступа к каталогам в файловой системе, которые каталог получит при сохранении. По умолчанию имеет значение FILE_UPLOAD_DIRECTORY_PERMISSIONS.

Примечание

Метод FileSystemStorage.delete() не будет поднимать исключение, если указанный файл не существует.

Класс Storage

class Storage [source]

Класс Storage предоставляет стандартизированный API для хранения файлов, вместе с набором стандартных поведений, которые другие системы хранения могут унаследовать или переопределить по мере необходимости.

Примечание

Для методов, возвращающих объекты с наивным datetime значением, используется текущее значение os.environ['TZ']; обратите внимание, что это обычно устанавливается из Django’s TIME_ZONE.

accessed_time(name) [source]

Возвращает объект с наивным datetime значением, содержащий время последнего доступа к файлу. Для систем хранения, которые не могут вернуть время последнего доступа, будет возбуждено исключение NotImplementedError.

created_time(name) [source]

Возвращает объект с наивным datetime значением, содержащий время создания файла. Для систем хранения, которые не могут вернуть время создания, будет возбуждено исключение NotImplementedError.

delete(name) [source]

Удаляет файл, на который ссылается name. Если удаление не поддерживается целевой системой хранения, будет возбуждено исключение NotImplementedError.

exists(name) [source]

Возвращает True если файл с заданным именем уже существует в системе хранения, или False если имя доступно для нового файла.

get_available_name(name, max_length=None) [source]

Возвращает имя файла, основанное на параметре name, которое свободно и доступно для записи нового содержимого в целевой системе хранения.

Длина имени файла не будет превышать max_length, если указано. Если уникальное свободное имя файла не найдено, будет возбуждено исключение SuspiciousFileOperation.

Если файл с name уже существует, к имени файла перед расширением добавляется символ подчеркивания и случайная 7-символьная буквенно-цифровая строка.

Аргумент max_length был добавлен.

get_valid_name(name) [source]

Возвращает имя файла, основанное на параметре name, подходящее для использования в целевой системе хранения.

listdir(path) [source]

Перечисляет содержимое указанного пути, возвращая кортеж из двух списков; первый элемент — каталоги, второй — файлы. Для систем хранения, которые не могут предоставить такой список, будет возбуждено исключение NotImplementedError.

modified_time(name) [source]

Возвращает объект с наивным datetime значением, содержащий время последнего изменения. Для систем хранения, которые не могут вернуть время последнего изменения, будет возбуждено исключение NotImplementedError.

open(name, mode='rb') [source]

Открывает файл, заданный name. Обратите внимание, что хотя возвращаемый файл гарантированно является объектом File, он может фактически быть подклассом. В случае удаленного хранения файлов это означает, что чтение/запись может быть довольно медленным, так что будьте осторожны.

path(name) [source]

Локальный путь к файлу на файловой системе, где файл можно открыть с помощью стандартной функции Python open(). Для систем хранения, недоступных с локальной файловой системы, будет возбуждено исключение NotImplementedError.

save(name, content, max_length=None) [source]

Сохраняет новый файл с помощью системы хранения, предпочтительно с указанным именем. Если уже существует файл с таким именем name, система хранения может изменить имя файла по мере необходимости, чтобы получить уникальное имя. Возвращается фактическое имя сохранённого файла.

Аргумент max_length передаётся в get_available_name().

Аргумент content должен быть экземпляром django.core.files.File или подкласса File.

Аргумент max_length был добавлен.

size(name) [source]

Возвращает общий размер файла в байтах, на который ссылается name. Для систем хранения, которые не могут вернуть размер файла, будет возбуждено исключение NotImplementedError.

url(name) [source]

Возвращает URL, где можно получить доступ к содержимому файла, на который ссылается name. Для систем хранения, которые не поддерживают доступ по URL, будет возбуждено исключение NotImplementedError.

© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/1.9/ref/files/storage/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API