10.09
Pré-requisitos
- Configuração das constants ‘MEDIA_ROOT’ e ‘MEDIA_URL’ no seu arquivo settings.py
- Instalação da biblioteca de imagens do Python (PIL)
Let’s Django
Durante o desenvolvimento de meu primeiro projeto em Django, deparei-me com a necessidade de criar um módulo de redimensionamento de imagens, que no qual o framework em si não me provia. Para o simples upload de imagens sem realizar o redimensionamento o Django se mostra muito simples e eficiente nesta tarefa, vejamos um exemplo abaixo:
01 from django.db import models02 03 class Cliente(models.Model):04 05 class Meta:06 ordering = ('nome')07 08 nome = models.CharField('Nome do Cliente', max_length=255)09 slug = models.SlugField(max_length=100, unique=True)10 descricao = models.TextField()11 cadastro = models.DateTimeField(auto_now=True, blank=True)12 imagem = models.ImageField('Imagem', upload_to='imagens', blank=True)
Repare que na linha 12 do meu arquivo models.py defini o tipo do campo como models.ImageField, passando o parâmetro “upload_to” que nada mais é que o caminho onde será salva a imagem após o upload. Dessa forma, toda vez que for cadastrado um novo cliente, a imagem será salva na pasta ‘imagens’ que será criada automaticamente assim que for efetuado o primeiro cadastro no banco de dados.
O redimensionamento
Pesquisei… pesquisei… pesquisei… para encontrar algo já pronto, pois o meu tempo era curto e havia muito ainda a ser feito, até que encontrei uma luz chamada DjangoThumbs (não entrarei em detalhes de funcionamento pois é bem simples a explicação no site oficial).
Porém, ele não estava redimensionando as imagens da maneira que eu precisava, sendo necessário alteração no fonte do arquivo, que disponibilizo aqui para vocês caso queiram testar!
Não há comentários ainda.
Deixe seu comentário