Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 4, 2009 15:20:41

niro
От:
Зарегистрирован: 2006-10-04
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

django-stdimage - загрузка изображений

Поскольку потребовались в проект thumbnails, то решил использовать django-stdimage. Проект вроде неплохой, но документации очень мало, т.е. вообще нет.
Загрузка изображений через админку работает замечательно, но вот реализовать загрузку для пользователя не представляю как.

Модель

    avatar = StdImageField(upload_to='avatars/', blank=True, size=(64, 64), thumbnail_size=(48, 48, False))
Описываю простую форму:
class AvatarForm(forms.Form):
avatar = StdImageFormField(required = False)
Страница с формой
<h3>Аватар</h3>
<form method="POST" action="{%url options_avatar user.username %}">
{{avatar_form}}
<input type="submit" value="Обновить аватар"/>
</form>
Теперь нужно как-то загрузить это изображение в views. Как ?



Офлайн

#2 Фев. 4, 2009 16:16:22

niro
От:
Зарегистрирован: 2006-10-04
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

django-stdimage - загрузка изображений

Вроде не то.

def options_avatar(request, name):
if request.method == "POST":
??
if form.is_valid():
???
Я имел ввиду как получить переданный файл и сохранить его



Офлайн

#3 Фев. 5, 2009 17:51:00

niro
От:
Зарегистрирован: 2006-10-04
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

django-stdimage - загрузка изображений

В шаблоне:

<form method="POST" action="{%url options_avatar user.username %}" enctype="multipart/form-data">
В views
def options_avatar(request, name):
if request.method == "POST":
form = AvatarForm(request.POST, request.FILES)
if form.is_valid():
UserProfile.objects.filter(user__username = name).update(avatar = request.FILES['avatar'])
Правда, последняя строчка не работает “Error binding parameter 0 - probably unsupported type.” Но, решение уже близко.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version