Метод get_valid_filename
Метод get_valid_filename применяется к экземпляру класса Storage и возвращает строку, преобразованную в безопасное имя файла. Он удаляет или заменяет недопустимые символы, которые могут вызвать проблемы при создании файлов в различных операционных системах. Метод полезен при сохранении пользовательских файлов, когда исходное имя может содержать пробелы, специальные символы или другие недопустимые знаки. В качестве аргумента передается исходное имя файла, а результатом является строка, состоящая только из допустимых символов.
Синтаксис
storage.get_valid_filename(name)
Пример
Давайте преобразуем имя файла с пробелами и специальными символами в безопасное имя:
from django.core.files.storage import FileSystemStorage
storage = FileSystemStorage()
filename = "my file (1).txt"
res = storage.get_valid_filename(filename)
print(res)
Результат выполнения кода:
"my_file_1_.txt"
Пример
Рассмотрим обработку имени файла с различными недопустимыми символами:
from django.core.files.storage import FileSystemStorage
storage = FileSystemStorage()
filename = "file/name:with?invalid*chars.jpg"
res = storage.get_valid_filename(filename)
print(res)
Результат выполнения кода:
"file_name_with_invalid_chars.jpg"
Пример
Метод также обрабатывает имена файлов, начинающиеся или заканчивающиеся точкой:
from django.core.files.storage import FileSystemStorage
storage = FileSystemStorage()
filename = ".hidden_file.txt"
res = storage.get_valid_filename(filename)
print(res)
Результат выполнения кода:
"hidden_file.txt"
Смотрите также
-
метод
save,
который сохраняет файл в хранилище -
метод
get_available_name,
который возвращает доступное имя файла -
метод
exists,
который проверяет существование файла -
метод
delete,
который удаляет файл из хранилища