sexta-feira, 11 de fevereiro de 2011

Google Appengine e importando Django 1.2

Como no visto no texto anterior de como importar o django 1.1 ou similiar sem o uso zipimport, veremos aqui como importar o django 1.2.5 (final) ou similar sem o uso de zipimport e com mais praticidade.

Eu desconhecia da def use_library em google.appengine.dist que seria uma mão e bem mais prático se usado no texto anterior.

O Django 1.2 trás grandes melhorias, principalmente nas templatetags de condições como o IF, dando possibilidade de usar ==, !=, <, >, <=, >= e in, haha (eta-coisa-boa)!

No dev disponibilizado para os desenvolvedores não faz referência ao 1.2, portando é preciso editar na mão enquanto o pessoal do GAE não atualiza. Como visto no próprio arquivo _library.py. No final do texto é mostrado como editar o arquivo necessário para rodar localmente.

Bem, agora já temos conhecimento da use_library e a disponibilidade da versão 1.2 e o que nos resta fazer? IMPORTAR!

Segue o procedimento abaixo (saiba mais direto no appengine):

import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

from google.appengine.dist import use_library
use_library('django', '1.2')

Nota: Lembre-se que o código acima deve ser inserido antes de qualquer chamada que envolva o django.

É necessário editar o arquivo _library.py localizado em %LOCAL-ONDE-O-APPENGINE-FOI-INSTALADO%google\appengine\dist  apartir da linha 80. Ela está mais ou menos assim:
PACKAGES = {
    'django': (DjangoVersion,
               {'0.96': None,
                '1.0': None,
                '1.1': None,
                }),

Adicione a versão "1.2" para que fique assim:

PACKAGES = {
    'django': (DjangoVersion,
               {'0.96': None,
                '1.0': None,
                '1.1': None,
                '1.2': None,
                }),

Salve o arquivo e pronto!

Nota: Lembre de ter o django 1.2 instalado.

Att, Gilson Fabiano.