4/08/2007

IronPython o Python para .NET

IronPython é um projeto da Microsoft (Quem disse que tudo que a Microsoft faz é ruim?) que é a implementação do Python para a plataforma .NET.

Com isso temos a integração do .NET Framework e sua bibliotecas, como o WindowsForms, com o Python.

Para ter o IronPython basta fazer o download dele aqui. E para que ele funcione direitinho é necessário o .NET Framework que pode ser baixado aqui.

Para acessar o console do IronPython basta executar o ipy.exe.

Programando algumas coisas no console poderá ver que os comando básicos do Python funcionam perfeitamente. Por exemplo:

>>> print 'ola IronPython'
ola IronPython
>>>range(3)
[0,1,2]
>>>def soma(a,b):
return a+b
>>>soma(1,2)
3

Agora usando uma biblioteca do .NET Framework

>>>import System
>>>System.Environment.OSVersion
Microsoft Windows NT 5.1.2600 Service Pack 2

E agora para finalizar este post sobre o básico do básico do IronPython, usando as bibliotecas padrão do Python no IronPython. Para isso, é só adicionar o caminho da pasta lib do Python no path. Se o seu Python for a versão 2.4, ficaria assim:

>>>import sys
>>>sys.path.append(r"c:\python24\lib")

E agora usando a biblioteca do Python no IronPython:

>>>import os
>>>os.getcwd()
'C:\\ironpython'

IronPyth9on funciona independente de ter Python instalado, mas daí não tem como utilizar a biblioteca padrão do Python no IronPython.

Só para finalizar...

Se você quer trabalhar com .NET, IronPython é uma grande alternativa para escolha de linguagem, já que as outras opções são C#, J#, VB.NET.

E com o projeto mono, sua aplicação usando IronPython fica portável tnato em ambientes Windows como Linux.

Para saber mais acesse o site do projeto: http://www.codeplex.com/IronPython

3/29/2007

Enfim o django 0.96

Dia 23 de março foi anunciado no blog oficial do django o lançamento da versão 0.96 do django.

O objetivo principal dessa versão é deixar estável, algumas coisas que foram iniciadas na versão 0.95 e nisso haverá incompatibilidades na mudança de versão.

A principal incompatibilidade está relacionada ao driver para MySQL, o MySQLdb. Se a versão que você utiliza for anterior a 1.2.1p2, você terá que colocar no settings 'mysql_old' em vez de 'mysql', se a versão do driver for a 1.2.1p2 ou mais recente continua a mesma coisa.

Como muitos ja esperavam, o newsforms que é a nova biblioteca para geração e manipulação de formulários é a padrão. Se você quiser continuar usando os oldforms é só importar os oldforms como forms da seguinte maneira:

from django import oldforms as forms

Entre as outras novidades está:

Uuma ferramenta para testes.

Melhoria na parte de serialização, com novos formatos, suportando JSON, XML e Python ( gerando listas, dicionários, strings )

Melhorias também na configuraçã ode URLs, antes só era permitido strings com o caimnho inteiro indicando uma função duma view, agora é possível importar essa função com o import do Python e apenas chamá-la. Ex:

from django.conf.urls.defaults import *
from mysite.myapp.views import myview

urlpatterns = patterns('',
('^myview/$', myview)
)

E para finalizar foram adicionados mais dois contribs: formtools, localflavor.

Em breve, estarei trazendo mais novidades sobre essas novidades da versão 0.96.

3/03/2007

Mais um site feito em django com o fonte liberado!!!

Tá virando mania mesmo!

Tudo começou quando o JeffCroft resolveu liberar o código fonte de uma projeto que ele tinha feito em django o LOST-theories.com. Esse foi seu primeiro projeto em django. Mesmo com o grande crescimento da comunidade OpenSource e com a idéia de que algo assim poderá ajudar muitos a aprenderem a fazer o que você sabe, podendo ajudar a comunidade estarem bem difundidos, ainda é raro vermos algo assim.

Lógico que tem projetos opensource em várias linguagens são faceis de achar, como o Drupal por exemplo. Mas liberar o código fonte de um site comercial, só para mostrar como foi feito é algo que não se vê todo dia.

Muita gente viu e curtiu! E o resultado disso foi mais dois sites repetirem o ato: o CheeseRater e o DjangoSnnipets.org.

Vendo a ação feita pelo pessoal do DjangoSnnipets, o Chris McAvoy liberou através do google code, um projeto para podcasts em django.

Nisso já são 4 projetos, um vendo o outro e seguindo o exemplo. Isso me faz lembrar do filme: 'A corrente do bem'.

Agora falta só você também fazer parte dela ( e eu também né ).

A comunidade django agradece!

Ai estão o link para os fontes dos projetos:

http://code.google.com/p/tastebud/
http://code.google.com/p/cab/
http://code.google.com/p/django-registration/
http://www.cheeserater.com/ ( o link para o fonte fica no rodapé do site )
http://files.jeffcroft.com/code/lost-theories.zip

2/28/2007

Python direto do Pen Drive

Já imaginou poder executar arquivos desenvolvidos em ptyhon ou desenvolver em python direto do Pen Drive, sem precisar instalar nada no computador?

Isso é possível através do projeto Portable Python [1].

Na sua versão atual ( 1.0 BETA ) já vem o Python 2.5, Django 0.96 (eba!!!), e o editor Scite 1.71.

Com o Portable Python é possível criar sistemas usando django + sqlite ( por exemplo ) e executá-los direto do Pen Drive. Quer dizer não precisa ser nessariamente um Pen Drive, pode ser uma camera digital, um mp3player e etc.

=]

[1] - http://www.portablepython.com/site/download/

2/19/2007

CMS em Django? bingo!

Depois de um tempo de pesquisa concluí:

Ao contrário das outras tecnologias, não há nenhum CMS, Wiki ou algum sistema do tipo feito em django.

Se pensarmos em zope, pensamos em plone. Se pensarmos em php logo vem wordpress, phpnuke, phpbb. Se pensamos em java temos o JavaBB, JavaFreeCms entre outros.

Mas porque não há nada parecido em django?

Uma das razões é porque é tão facil criar um wiki no django que ninguem vai querer um pronto.

Foi ai que decidi: vou criar um CMS feito em django e seu nome será bingo.

O bingo integrará Wiki, Blog, Galeria de fotos, feeds entre outras coisas.

O grande barato do bingo é que o foco dele não serão somente os djangers, e sim pessoas comuns que querem ter seu wiki ou seu blog ou páginapessoal, sem precisar mexer nos códigos.

Mas, quando anuncei o bingo! na lista de e-mails do django-brasil, muitos djangers se interessaram, e ainda mais, se alistaram para ajudar o projeto. E ainda mais o site da comunidade django-brasil usará o bingo!.

O bingo! ainda é um projeto em nascimento, mas já nasceu com o pé direito.

Está querendo ajudar? Está ancioso para utilizar?

Aguarde.....

2/06/2007

Django + Apache no Windows

Com a crescente divulgação do django aqui no Brasil, muitos estão começando a testar e usar esse WebFramework.

A maioria dos desenvolvedores usam o 'manager.py runserver' para fazerem seus testes com django no windows, ou por falta de necessidade de usaru m servidor para testes ou por não conseguir configurar um.

No post de hoje vou mostrar a instalação e configuração do Django em ambiente Windows utilizando apache + modpython.

Os programas utilizados são:
Python 2.4.4
Apache 2
ModPython 3.2.8
Django 0.95.1

1 - Instalando o Python
Para instalar o Python no Windows é só dar duplo clique no arquivo .msi e seguir o guia de instalação

2 - Instalando o Apache

Para instalar oapache no windows é só dar um cuplo clique no executável e seguir o guia de instalação.

Para testar o apache é só acessar http://localhost


3 - Instalando o modpython

Para instalar o modpython é só dar um cuplo clique no executável e seguir o guia de instalação. No final da instalação é só informar a pasta em que o apache foi instalada.

Depois abra o arquivo 'http.conf' que fica dentro da pasta 'conf' do apache e adicione esta linha:

LoadModule python_module modules/mod_python.so

4 - Instalando o django

Descompacte o arquivo .tar.gz baixado no site do django.

Abra o prompt de comando, geralmente encontrado em "Iniciar > Programas > Acessórios > Prompt de comando", e entre na pasta descompactada.

Digite o comando:

python setup.py install

e o django será instalado.

5 - Configurando o django no apache

Abra novamente o arquivo 'http.conf' e adicione no final do arquivo:

<Location "/meusite/">
SetHandler python-program
PythonPath "['C:\django_sites'] + sys.path"
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE teste.settings
PythonDebug On
</Location>

onde meusite é o endereço virtual. Ex: http://localhost/meusite

No python path a pasta colocada tem que ser aonde estão os projetos feitos em django, no nosso caso foi 'C:\django_sites'.

e o teste.settings é o arquivo settings.py do seu projeto feito em django, onde teste é o nome do projeto.

Agora é só iniciar o apache e ver em http://localhost/meusite o django funcionando!


2/03/2007

djanger = Django developer

Durante uma conversa com o Marinho, onde estávamos falando sobre a falta de sistemas em django, como cms, blogs, wikis e acabou saindo uma nova expressão: djanger, onde djanger é a pessoa que utiliza o django.

Sent at 12:22 PM on Saturday

Andrews Medina:
heheh verdade :p

Marinho Brandão:
… e ir oferencendo o serviço a djangers (essa expressão eu acabei de inventar… ehhe ) e ganhar dinheiro com AdSense


Nessa conversa tambem nasceu um novo projeto o 'bingo!'. Ainda não sei se será esse nome mesmo, mas em breve terão notícias sobre ele.