Получение имени изображения при загрузке
Я использую этот код для проверки размера изображения перед загрузкой на модель. Я хотел бы получить имя изображения, чтобы я мог сообщить пользователям, что это за файл. Как я могу это сделать.
def validate_image(image):
file_size = image.file.size
if file_size > settings.MAX_UPLOAD_SIZE:
raise ValidationError("Max size of file is 3MB")
image = models.ImageField(default='default.jpg',validators=[validate_image])
Имя файла, включая относительный путь от корня хранилища ассоциированного поля FileField.
class Car(models.Model):
photo = models.ImageField(upload_to='cars')
>>> car = Car.objects.get(name="57 Chevy")
>>> car.photo
<ImageFieldFile: cars/chevy.jpg>
>>> car.photo.name # <-- this one !!!!!!!!!!!!!!!!!!!!!!!
'cars/chevy.jpg'
>>> car.photo.path
'/media/cars/chevy.jpg'
>>> car.photo.url
'http://media.example.com/cars/chevy.jpg'