Атрибут name
Атрибут name класса UploadedFile содержит
имя файла, которое было отправлено клиентом при загрузке.
Это строка, представляющая оригинальное имя файла из
запроса пользователя. Атрибут доступен только для чтения
и полезен для отображения пользователю, логирования или
генерации новых имен при сохранении файла на сервере.
Синтаксис
uploaded_file.name
Пример
Рассмотрим простой пример получения имени загруженного файла в представлении Django:
from django.shortcuts import render
def upload_view(request):
if request.method == 'POST':
uploaded_file = request.FILES['document']
file_name = uploaded_file.name
print(file_name)
return render(request, 'upload_success.html', {'name': file_name})
return render(request, 'upload_form.html')
Результат выполнения кода при загрузке файла "report.pdf":
"report.pdf"
Пример
Пример использования атрибута name для обработки
нескольких загруженных файлов:
from django.shortcuts import render
def multiple_upload_view(request):
if request.method == 'POST':
files = request.FILES.getlist('documents')
file_names = [file.name for file in files]
print(file_names)
return render(request, 'upload_success.html', {'names': file_names})
return render(request, 'upload_form.html')
Результат выполнения кода при загрузке двух файлов:
["image1.jpg", "image2.png"]
Пример
Пример использования атрибута name для генерации
безопасного имени при сохранении файла в модели:
from django.db import models
from django.core.files.storage import default_storage
class Document(models.Model):
title = models.CharField(max_length=100)
file = models.FileField(upload_to='documents/')
def save(self, *args, **kwargs):
if self.file:
original_name = self.file.name
print(original_name)
self.file.name = default_storage.get_available_name(self.file.name)
super().save(*args, **kwargs)
Результат выполнения кода при сохранении файла "resume.pdf":
"resume.pdf"
Смотрите также
-
класс
UploadedFile,
представляющий загруженный файл в Django -
атрибут
size,
возвращающий размер загруженного файла в байтах -
атрибут
content_type,
возвращающий MIME-тип загруженного файла -
класс
TemporaryUploadedFile,
представляющий загруженный файл, сохраненный во временном хранилище