Uma dúvida de muitos programadores que começam a utilizar o Django é saber qual versão instalar.
A maior dúvida está na escolha de uma entra as três versões: 0.96.1, 0.97-pre (a versão de desenvolvimento) e o branch newforms-admin.
Muitos a primeira vista escolhem a versão 0.96.1 por ser uma versão estável e fechada. Mas eu acho isso um excesso de zelo.
Desde que a versão 0.96.1 foi lançada foi adicionado muita coisa na versão em desenvolvimento (0.97-pre), contendo assim muito mais funcionalidades importantes:
- Unicode por padrão
- Autoself
- Newforms muito mais maduro e poderoso e a adição do ModelForms
- TestClient
- Herança de models e muito mais poder nas query's com a adição do branch queryset-refactor
- Novos contribs
Como podem ver utilizar a versão em desenvolvimento pode trazer muitas vantagens.
Outro fator a se considerar é que tudo antes de entrar na versão em desenvolvimento é discutido, analizado e depois aceito, trazendo uma certa estabilidade.
Por outro lado temos ainda o branch do newforms-admin, que já está finalizado mais ainda não foi feito a junção dele com a versão em desenvolvimento.
Nesse branch o admin foi refeito utilizando o newforms e algumas filosofias do admin foram alteradas deixando muito mais fácil de customizar e modificar as views de um respectivo model no admin.
Como o newforms-admin tem tudo que a versão em desenvolvimento tem adicionando o novo admin, você pode me perguntar:
"Eu tenho projetos já pronto utilizando a versão em desenvolvimento do Django, gostaria de manter ela para os atuais projetos mais utilizar o branch do newforms-admin para os projetos futuros. É possível?"
A resposta é: Sim! Na verdade esse é o titulo desse post.
Existe
um script em Python disponibilizado no
djangosnippets.org que permite que de uma maneira simples você alterne entre as versão do Django de acordo com a sua necessidade. Esse script não faz nada mais do que adicionar a versão selecionada ao PYTHONPATH. E quando já existe alguma no PYTHONPATH ele a sobrescreve, ficando apenas a atual.
Para isso baixe a versão em desenvolvimento do Django:
svn co http://code.djangoproject.com/svn/django/trunk/ django-trunk
PS: não faça o link simbólico para o site-packages como é indicado na documentação, porque quem fará isso será o script que vamos utilizar.
Baixe também o branch do newforms-admin:
svn co http://code.djangoproject.com/svn/django/branches/newforms-admin/ newforms-admin
E salve
o arquivo do script que faz a troca entre as versões que pode ser baixado aqui, como chdjango.py
A sua sintaxe é: python chdjango.py diretorio_do_django
Seguindo isso para adicionar a versão em desenvolvimento ao PYTHONPATH:
$sudo python chdjango.py django-trunk
E para remover a versão em desenvolvimento e adicionar o branch do newforms-admin ao PYTHONPATH:
$sudo python chdjango.py newforms-admin
Agora você pode utilizar várias versões do Django em seu computador de acordo com seu gosto!
Lembrando, se você começou um projeto em uma versão é recomendado que termine esse projeto nessa mesma versão.