2009
10.09

Pré-requisitos

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 models
02
 
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!

para os exemplos parto com a idéia que já tenha configurado a variável ‘MEDIA_ROOT’ e ‘MEDIA_URL’ no seu arquivo settings.py:

* Posts relacionados

Não há comentários ainda.

Deixe seu comentário