Django Пользовательское поле загрузки изображения с динамическим путем - PullRequest
1 голос
/ 27 января 2011

Я пытаюсь создать свой собственный тип поля для загрузки изображений, он не будет использоваться в админ-панели django.Я предполагаю, что синтаксис будет выглядеть примерно так:

photo = CustomImageField(upload_to='images', width="200", height="200")

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

Я использую Django 1.2

Любая помощь будет принята с благодарностью:)

Ответы [ 3 ]

2 голосов
/ 27 января 2011

Вам не нужно настраиваемое поле для этого. Как показывает документация , upload_to может быть вызванным, который передается экземпляру и возвращает путь, который определяет, где сохранено поле.

Я не уверен, что вы имеете в виду под параметрами ширины и высоты. Они рассчитаны по изображению в любом случае. Если вы укажете height_field и width_field в определении поля, соответствующие поля будут заполнены значениями высоты и ширины изображения при его загрузке.

2 голосов
/ 27 января 2011

Вы можете изменить хранилище FileField, используя свойство location.

form_name.photo.storage.location = upload_dir_path      

Это работает для FileField и, возможно, оно также будет работать для вашего пользовательского поля изображения, если вы унаследуете Django ImageField.

0 голосов
/ 27 января 2011

вся информация для загрузки:

http://docs.djangoproject.com/en/dev/topics/files/

и информация об изменении размера

изменить размер изображения при сохранении

Надеюсь, это поможет

РЕДАКТИРОВАТЬ: все, что мне нужно, я думаю, это: http://code.google.com/p/django-stdimage/ но я не знаю, работает ли он в текущей версии.

...