Django Пользовательское поле загрузки изображения с динамическим путем
Я пытаюсь создать свой собственный тип поля для загрузки изображений, он не будет использоваться в админ-панели django. Я думаю, что синтаксис будет выглядеть примерно так:
photo = CustomImageField(upload_to='images', width="200", height="200")
Я хочу иметь возможность устанавливать параметры в поле при загрузке и сохранении изображения. Я просмотрел документацию по Django, но не могу найти ничего о том, как это сделать. В общем, я хочу иметь возможность контролировать, куда загружается изображение, а также параметры ширины и высоты при обработке формы загрузки и сохранении объекта.
Я использую Django 1.2
Любая помощь будет принята с благодарностью:)
3 ответа
Вы можете изменить хранилище FileField, используя свойство location.
form_name.photo.storage.location = upload_dir_path
Он работает для FileField и, возможно, он также будет работать для вашего настраиваемого поля изображения, если вы унаследуете ImageField Django.
Вам не нужно настраиваемое поле для этого. Как видно из документации, upload_to
может быть вызываемым, который передается экземпляру и возвращает путь, который определяет, где поле сохраняется.
Я не уверен, что вы имеете в виду под параметрами ширины и высоты. Они рассчитаны по изображению в любом случае. Если вы укажете height_field
а также width_field
в определении поля соответствующие поля будут заполнены значениями высоты и ширины изображения при его загрузке.
Вся информация для загрузки:
http://docs.djangoproject.com/en/dev/topics/files/
и информация об изменении размера
изменить размер изображения при сохранении
я надеюсь, это поможет
РЕДАКТИРОВАТЬ: все, что мне нужно, я думаю, это: http://code.google.com/p/django-stdimage/ но я не знаю, работает ли он в текущей версии.