bimka
@bimka
Осваиваю Питон

Как мне обратиться к атрибуту?

При регистрации пользователю необходимо загрузить свой аватар. В views.py при получении значений формы на аватар накладывается водяной знак, после чего все данные сохраняются в БД. Подскажите как извлечь аватар, чтобы его потом обработать, и как его засунуть назад обработанным.
При использовании dic(form) никаких атрибутов, похожих на те, что используются в модели пользователя не нахожу.

def post(self, request):
        form = ClientCreateForm(request.POST, request.FILES)
        print(dir(form))
        if not form.is_valid():
            return HttpResponse('Client does not created!')
        c = form.save(commit=False)
        c.avatar = watermark_avatar(input_avatar_path = request.FILES['avatar'])
        с.save()
        return HttpResponse('New client is registred')
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ответы на вопрос 1
AlexNest
@AlexNest
Работаю с Python/Django
from PIL import Image 

def save(self, *args, **kwargs):
    super(Posts, self).save(*args, **kwargs) # Posts - модель
    imag = Image.open(self.image.path) #image - поле в модели.
    if imag.width > 400 or imag.height> 300: # изменение размера для примера
        output_size = (400, 300)
        imag.thumbnail(output_size)
        imag.save(self.post_image.path)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы