O que mais curti do Django 1.4

Como muitos já sabem, na sexta-feira passada foi feita a release da versão 1.4 do Django. Essa versão traz vários ajustes que visam tornar o framework ainda mais leve e fácil para o desenvolvimento web. Incentivado por esse post do Adam McKerlie, resolvi falar das novas features que eu mais curti.

Facilidade com testes de aceitação

O Django 1.4 adiciona uma classe chamada LiveServerTestCase que tem o intuito de simular a aplicação e a suas integrações, com o banco por exemplo, para que se possa fazer testes de aceitação. Ela facilita a combinação com outras ferramentas comumente utilizadas nesse tipo de teste como o Selenium, por exemplo. Acho bom esse tipo de feature ser fornecida pelo framework porque torna mais fácil e convidativo a escrita de testes durante o processo de desenvolvimento.

Método prefetch_related

Essa parece uma alteração simples, mas de todas foi a que eu mais gostei. Antes já existia o select_releated que possibilitava queries únicas para recuperar um objeto e seus relacionamentos de chave estrangeira. Entretanto, quando tínhamos um relacionamento de muitos para muitos, por exemplo, isso não era possível. Esse método resolve essa questão e acaba por resolver um grande problema de performance quando esse tipo de relacionamento entre tabelas do banco tinha que ser trabalhado no Django.

Improvements do admin

Já precisei personalizar o admin além do que o framework fornece e não rolou. Curiosamente foi para fazer exatamente algo que a nova opção list_filter. Além disso, foram adicionados métodos que tornaram o ModelAdmin ainda mais poderoso e fácil de customizar como o get_list_display_links e o save_related.

Assignment tag

Essa tag é a única feature que, confesso, nunca tive necessidade real de utilizar. Mas me pareceu tão óbvio e fácil que teve que entrar nessa lista. Ela é bem interessante, mas fiquei um pouco de orelha em pé… Digo isso porque ela te dá um poder legalzinho e ela aumenta bem a possibilidade de fazer com que lógica da aplicação vaze para o template. Mas, é aquela coisa: grandes poderes, grandes responsabilidades.

 

Esses quatro pontos foram os que mais me chamaram a atenção por, com exceção do último, terem sido problemas que eu já enfrentei de alguma maneira. Vale dizer que ainda existem outras features bem bacanas como novos métodos para manipular o banco de dados ou o novo form wizard.

Sobre as minor features, segue uma listinha das que eu também curti mais:

Participem da discussão colocando os pontos que vocês mais gostaram dessa nova release nos comentários! Até a próxima!

Share on Facebook
Post to Google Buzz

2 Thoughts on “O que mais curti do Django 1.4

  1. Muito bom o post.

    O que eu mais gostei dessa release na verdade é uma tendência que segue. O django está com uma ótima tendência a usar class-based views, que são muito legais, uma outra maneira de programar views em django. Nesse release eu vi que os form-wizards passam a ser definidos por class-based views. Vou querer usar.

    Tembém achei outras pequenas “proteções” legais como o fim das wildcards expansions, que na verdade eu nunca vi ninguém usar.

  2. Thanks for linking to my article. While the assignment tag may seem a little useless I’ve found it to be a life-saver in a few complex templates that I have. Jinja2 (http://jinja.pocoo.org/docs/) has had the assignment tag for a while now and I always found myself missing it when I went back to Django’s template renderer.

    Like you said, prefetch_related() is a huge performance gain for anyone using M2M fields. You just need to be careful when using it since you can use massive amounts of memory for large tables.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Post Navigation